@openrouter/sdk 0.13.17 → 0.13.19

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 (37) hide show
  1. package/esm/funcs/apiKeysCreate.d.ts +1 -1
  2. package/esm/funcs/apiKeysCreate.js +1 -1
  3. package/esm/funcs/byokCreate.d.ts +1 -1
  4. package/esm/funcs/byokCreate.js +1 -1
  5. package/esm/funcs/guardrailsBulkAssignKeys.d.ts +1 -1
  6. package/esm/funcs/guardrailsBulkAssignKeys.js +1 -1
  7. package/esm/funcs/guardrailsUpdate.d.ts +1 -1
  8. package/esm/funcs/guardrailsUpdate.js +1 -1
  9. package/esm/funcs/videoGenerationGetVideoContent.js +2 -2
  10. package/esm/funcs/workspacesDelete.d.ts +1 -1
  11. package/esm/funcs/workspacesDelete.js +1 -1
  12. package/esm/lib/config.d.ts +2 -2
  13. package/esm/lib/config.js +2 -2
  14. package/esm/models/byokproviderslug.d.ts +1 -0
  15. package/esm/models/byokproviderslug.js +1 -0
  16. package/esm/models/imagegenerationrequest.d.ts +10 -3
  17. package/esm/models/imagegenerationrequest.js +3 -1
  18. package/esm/models/operations/listbyokkeys.d.ts +1 -0
  19. package/esm/models/operations/listbyokkeys.js +1 -0
  20. package/esm/models/providername.d.ts +1 -0
  21. package/esm/models/providername.js +1 -0
  22. package/esm/models/provideroptions.d.ts +6 -0
  23. package/esm/models/provideroptions.js +1 -0
  24. package/esm/models/providerresponse.d.ts +1 -0
  25. package/esm/models/providerresponse.js +1 -0
  26. package/esm/models/videogenerationrequest.d.ts +6 -0
  27. package/esm/models/videogenerationrequest.js +1 -0
  28. package/esm/sdk/apikeys.d.ts +1 -1
  29. package/esm/sdk/apikeys.js +1 -1
  30. package/esm/sdk/byok.d.ts +1 -1
  31. package/esm/sdk/byok.js +1 -1
  32. package/esm/sdk/guardrails.d.ts +2 -2
  33. package/esm/sdk/guardrails.js +2 -2
  34. package/esm/sdk/workspaces.d.ts +1 -1
  35. package/esm/sdk/workspaces.js +1 -1
  36. package/jsr.json +1 -1
  37. package/package.json +5 -5
@@ -12,7 +12,7 @@ import { Result } from "../types/fp.js";
12
12
  * Create a new API key
13
13
  *
14
14
  * @remarks
15
- * Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.
15
+ * Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
16
  */
17
17
  export declare function apiKeysCreate(client: OpenRouterCore, request: operations.CreateKeysRequest, options?: RequestOptions): APIPromise<Result<operations.CreateKeysResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.ForbiddenResponseError | errors.TooManyRequestsResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
18
18
  //# sourceMappingURL=apiKeysCreate.d.ts.map
@@ -16,7 +16,7 @@ import { APIPromise } from "../types/async.js";
16
16
  * Create a new API key
17
17
  *
18
18
  * @remarks
19
- * Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.
19
+ * Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
20
  */
21
21
  export function apiKeysCreate(client, request, options) {
22
22
  return new APIPromise($do(client, request, options));
@@ -13,7 +13,7 @@ import { Result } from "../types/fp.js";
13
13
  * Create a BYOK provider credential
14
14
  *
15
15
  * @remarks
16
- * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
17
17
  */
18
18
  export declare function byokCreate(client: OpenRouterCore, request: operations.CreateBYOKKeyRequest, options?: RequestOptions): APIPromise<Result<models.CreateBYOKKeyResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.ForbiddenResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
19
  //# sourceMappingURL=byokCreate.d.ts.map
@@ -17,7 +17,7 @@ import { APIPromise } from "../types/async.js";
17
17
  * Create a BYOK provider credential
18
18
  *
19
19
  * @remarks
20
- * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
21
21
  */
22
22
  export function byokCreate(client, request, options) {
23
23
  return new APIPromise($do(client, request, options));
@@ -13,7 +13,7 @@ import { Result } from "../types/fp.js";
13
13
  * Bulk assign keys to a guardrail
14
14
  *
15
15
  * @remarks
16
- * Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ * Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
17
17
  */
18
18
  export declare function guardrailsBulkAssignKeys(client: OpenRouterCore, request: operations.BulkAssignKeysToGuardrailRequest, options?: RequestOptions): APIPromise<Result<models.BulkAssignKeysResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.NotFoundResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
19
  //# sourceMappingURL=guardrailsBulkAssignKeys.d.ts.map
@@ -17,7 +17,7 @@ import { APIPromise } from "../types/async.js";
17
17
  * Bulk assign keys to a guardrail
18
18
  *
19
19
  * @remarks
20
- * Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ * Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
21
21
  */
22
22
  export function guardrailsBulkAssignKeys(client, request, options) {
23
23
  return new APIPromise($do(client, request, options));
@@ -13,7 +13,7 @@ import { Result } from "../types/fp.js";
13
13
  * Update a guardrail
14
14
  *
15
15
  * @remarks
16
- * Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ * Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
17
17
  */
18
18
  export declare function guardrailsUpdate(client: OpenRouterCore, request: operations.UpdateGuardrailRequest, options?: RequestOptions): APIPromise<Result<models.UpdateGuardrailResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.NotFoundResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
19
  //# sourceMappingURL=guardrailsUpdate.d.ts.map
@@ -17,7 +17,7 @@ import { APIPromise } from "../types/async.js";
17
17
  * Update a guardrail
18
18
  *
19
19
  * @remarks
20
- * Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ * Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
21
21
  */
22
22
  export function guardrailsUpdate(client, request, options) {
23
23
  return new APIPromise($do(client, request, options));
@@ -40,7 +40,7 @@ async function $do(client, request, options) {
40
40
  "index": payload.index,
41
41
  });
42
42
  const headers = new Headers(compactMap({
43
- Accept: "application/octet-stream",
43
+ Accept: "video/mp4",
44
44
  "HTTP-Referer": encodeSimple("HTTP-Referer", payload["HTTP-Referer"] ?? client._options.httpReferer, { explode: false, charEncoding: "none" }),
45
45
  "X-OpenRouter-Categories": encodeSimple("X-OpenRouter-Categories", payload.appCategories ?? client._options.appCategories, { explode: false, charEncoding: "none" }),
46
46
  "X-OpenRouter-Title": encodeSimple("X-OpenRouter-Title", payload.appTitle ?? client._options.appTitle, { explode: false, charEncoding: "none" }),
@@ -98,7 +98,7 @@ async function $do(client, request, options) {
98
98
  const responseFields = {
99
99
  HttpMeta: { Response: response, Request: req },
100
100
  };
101
- const [result] = await M.match(M.stream(200, z.custom(x => x instanceof ReadableStream)), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(404, errors.NotFoundResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.jsonErr(502, errors.BadGatewayResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
101
+ const [result] = await M.match(M.stream(200, z.custom(x => x instanceof ReadableStream), { ctype: "video/mp4" }), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(404, errors.NotFoundResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.jsonErr(502, errors.BadGatewayResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
102
102
  if (!result.ok) {
103
103
  return [result, { status: "complete", request: req, response }];
104
104
  }
@@ -13,7 +13,7 @@ import { Result } from "../types/fp.js";
13
13
  * Delete a workspace
14
14
  *
15
15
  * @remarks
16
- * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required.
16
+ * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
17
17
  */
18
18
  export declare function workspacesDelete(client: OpenRouterCore, request: operations.DeleteWorkspaceRequest, options?: RequestOptions): APIPromise<Result<models.DeleteWorkspaceResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.ForbiddenResponseError | errors.NotFoundResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
19
  //# sourceMappingURL=workspacesDelete.d.ts.map
@@ -17,7 +17,7 @@ import { APIPromise } from "../types/async.js";
17
17
  * Delete a workspace
18
18
  *
19
19
  * @remarks
20
- * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
+ * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
21
21
  */
22
22
  export function workspacesDelete(client, request, options) {
23
23
  return new APIPromise($do(client, request, options));
@@ -49,8 +49,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
49
49
  export declare const SDK_METADATA: {
50
50
  readonly language: "typescript";
51
51
  readonly openapiDocVersion: "1.0.0";
52
- readonly sdkVersion: "0.13.17";
52
+ readonly sdkVersion: "0.13.19";
53
53
  readonly genVersion: "2.884.4";
54
- readonly userAgent: "speakeasy-sdk/typescript 0.13.17 2.884.4 1.0.0 @openrouter/sdk";
54
+ readonly userAgent: "speakeasy-sdk/typescript 0.13.19 2.884.4 1.0.0 @openrouter/sdk";
55
55
  };
56
56
  //# sourceMappingURL=config.d.ts.map
package/esm/lib/config.js CHANGED
@@ -26,8 +26,8 @@ export function serverURLFromOptions(options) {
26
26
  export const SDK_METADATA = {
27
27
  language: "typescript",
28
28
  openapiDocVersion: "1.0.0",
29
- sdkVersion: "0.13.17",
29
+ sdkVersion: "0.13.19",
30
30
  genVersion: "2.884.4",
31
- userAgent: "speakeasy-sdk/typescript 0.13.17 2.884.4 1.0.0 @openrouter/sdk",
31
+ userAgent: "speakeasy-sdk/typescript 0.13.19 2.884.4 1.0.0 @openrouter/sdk",
32
32
  };
33
33
  //# sourceMappingURL=config.js.map
@@ -71,6 +71,7 @@ export declare const BYOKProviderSlug: {
71
71
  readonly Perplexity: "perplexity";
72
72
  readonly Phala: "phala";
73
73
  readonly Poolside: "poolside";
74
+ readonly Quiver: "quiver";
74
75
  readonly Recraft: "recraft";
75
76
  readonly Reka: "reka";
76
77
  readonly Relace: "relace";
@@ -74,6 +74,7 @@ export const BYOKProviderSlug = {
74
74
  Perplexity: "perplexity",
75
75
  Phala: "phala",
76
76
  Poolside: "poolside",
77
+ Quiver: "quiver",
77
78
  Recraft: "recraft",
78
79
  Reka: "reka",
79
80
  Relace: "relace",
@@ -45,15 +45,16 @@ export declare const ImageGenerationRequestBackground: {
45
45
  */
46
46
  export type ImageGenerationRequestBackground = OpenEnum<typeof ImageGenerationRequestBackground>;
47
47
  /**
48
- * Encoding of the returned image bytes.
48
+ * Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`.
49
49
  */
50
50
  export declare const ImageGenerationRequestOutputFormat: {
51
51
  readonly Png: "png";
52
52
  readonly Jpeg: "jpeg";
53
53
  readonly Webp: "webp";
54
+ readonly Svg: "svg";
54
55
  };
55
56
  /**
56
- * Encoding of the returned image bytes.
57
+ * Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`.
57
58
  */
58
59
  export type ImageGenerationRequestOutputFormat = OpenEnum<typeof ImageGenerationRequestOutputFormat>;
59
60
  /**
@@ -330,6 +331,9 @@ export type ImageGenerationRequestOptions = {
330
331
  poolside?: {
331
332
  [k: string]: any | null;
332
333
  } | undefined;
334
+ quiver?: {
335
+ [k: string]: any | null;
336
+ } | undefined;
333
337
  recraft?: {
334
338
  [k: string]: any | null;
335
339
  } | undefined;
@@ -479,7 +483,7 @@ export type ImageGenerationRequest = {
479
483
  */
480
484
  outputCompression?: number | undefined;
481
485
  /**
482
- * Encoding of the returned image bytes.
486
+ * Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`.
483
487
  */
484
488
  outputFormat?: ImageGenerationRequestOutputFormat | undefined;
485
489
  /**
@@ -789,6 +793,9 @@ export type ImageGenerationRequestOptions$Outbound = {
789
793
  poolside?: {
790
794
  [k: string]: any | null;
791
795
  } | undefined;
796
+ quiver?: {
797
+ [k: string]: any | null;
798
+ } | undefined;
792
799
  recraft?: {
793
800
  [k: string]: any | null;
794
801
  } | undefined;
@@ -42,12 +42,13 @@ export const ImageGenerationRequestBackground = {
42
42
  Opaque: "opaque",
43
43
  };
44
44
  /**
45
- * Encoding of the returned image bytes.
45
+ * Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`.
46
46
  */
47
47
  export const ImageGenerationRequestOutputFormat = {
48
48
  Png: "png",
49
49
  Jpeg: "jpeg",
50
50
  Webp: "webp",
51
+ Svg: "svg",
51
52
  };
52
53
  /**
53
54
  * Rendering quality. Providers without a quality knob ignore this.
@@ -165,6 +166,7 @@ export const ImageGenerationRequestOptions$outboundSchema = z.object({
165
166
  perplexity: z.record(z.string(), z.nullable(z.any())).optional(),
166
167
  phala: z.record(z.string(), z.nullable(z.any())).optional(),
167
168
  poolside: z.record(z.string(), z.nullable(z.any())).optional(),
169
+ quiver: z.record(z.string(), z.nullable(z.any())).optional(),
168
170
  recraft: z.record(z.string(), z.nullable(z.any())).optional(),
169
171
  recursal: z.record(z.string(), z.nullable(z.any())).optional(),
170
172
  reflection: z.record(z.string(), z.nullable(z.any())).optional(),
@@ -95,6 +95,7 @@ export declare const Provider: {
95
95
  readonly Perplexity: "perplexity";
96
96
  readonly Phala: "phala";
97
97
  readonly Poolside: "poolside";
98
+ readonly Quiver: "quiver";
98
99
  readonly Recraft: "recraft";
99
100
  readonly Reka: "reka";
100
101
  readonly Relace: "relace";
@@ -78,6 +78,7 @@ export const Provider = {
78
78
  Perplexity: "perplexity",
79
79
  Phala: "phala",
80
80
  Poolside: "poolside",
81
+ Quiver: "quiver",
81
82
  Recraft: "recraft",
82
83
  Reka: "reka",
83
84
  Relace: "relace",
@@ -87,6 +87,7 @@ export declare const ProviderName: {
87
87
  readonly Venice: "Venice";
88
88
  readonly Wafer: "Wafer";
89
89
  readonly WandB: "WandB";
90
+ readonly Quiver: "Quiver";
90
91
  readonly Xiaomi: "Xiaomi";
91
92
  readonly XAI: "xAI";
92
93
  readonly ZAi: "Z.AI";
@@ -90,6 +90,7 @@ export const ProviderName = {
90
90
  Venice: "Venice",
91
91
  Wafer: "Wafer",
92
92
  WandB: "WandB",
93
+ Quiver: "Quiver",
93
94
  Xiaomi: "Xiaomi",
94
95
  XAI: "xAI",
95
96
  ZAi: "Z.AI",
@@ -273,6 +273,9 @@ export type ProviderOptions = {
273
273
  poolside?: {
274
274
  [k: string]: any | null;
275
275
  } | undefined;
276
+ quiver?: {
277
+ [k: string]: any | null;
278
+ } | undefined;
276
279
  recraft?: {
277
280
  [k: string]: any | null;
278
281
  } | undefined;
@@ -633,6 +636,9 @@ export type ProviderOptions$Outbound = {
633
636
  poolside?: {
634
637
  [k: string]: any | null;
635
638
  } | undefined;
639
+ quiver?: {
640
+ [k: string]: any | null;
641
+ } | undefined;
636
642
  recraft?: {
637
643
  [k: string]: any | null;
638
644
  } | undefined;
@@ -96,6 +96,7 @@ export const ProviderOptions$outboundSchema = z.object({
96
96
  perplexity: z.record(z.string(), z.nullable(z.any())).optional(),
97
97
  phala: z.record(z.string(), z.nullable(z.any())).optional(),
98
98
  poolside: z.record(z.string(), z.nullable(z.any())).optional(),
99
+ quiver: z.record(z.string(), z.nullable(z.any())).optional(),
99
100
  recraft: z.record(z.string(), z.nullable(z.any())).optional(),
100
101
  recursal: z.record(z.string(), z.nullable(z.any())).optional(),
101
102
  reflection: z.record(z.string(), z.nullable(z.any())).optional(),
@@ -121,6 +121,7 @@ export declare const ProviderResponseProviderName: {
121
121
  readonly Venice: "Venice";
122
122
  readonly Wafer: "Wafer";
123
123
  readonly WandB: "WandB";
124
+ readonly Quiver: "Quiver";
124
125
  readonly Xiaomi: "Xiaomi";
125
126
  readonly XAI: "xAI";
126
127
  readonly ZAi: "Z.AI";
@@ -125,6 +125,7 @@ export const ProviderResponseProviderName = {
125
125
  Venice: "Venice",
126
126
  Wafer: "Wafer",
127
127
  WandB: "WandB",
128
+ Quiver: "Quiver",
128
129
  Xiaomi: "Xiaomi",
129
130
  XAI: "xAI",
130
131
  ZAi: "Z.AI",
@@ -294,6 +294,9 @@ export type VideoGenerationRequestOptions = {
294
294
  poolside?: {
295
295
  [k: string]: any | null;
296
296
  } | undefined;
297
+ quiver?: {
298
+ [k: string]: any | null;
299
+ } | undefined;
297
300
  recraft?: {
298
301
  [k: string]: any | null;
299
302
  } | undefined;
@@ -721,6 +724,9 @@ export type VideoGenerationRequestOptions$Outbound = {
721
724
  poolside?: {
722
725
  [k: string]: any | null;
723
726
  } | undefined;
727
+ quiver?: {
728
+ [k: string]: any | null;
729
+ } | undefined;
724
730
  recraft?: {
725
731
  [k: string]: any | null;
726
732
  } | undefined;
@@ -126,6 +126,7 @@ export const VideoGenerationRequestOptions$outboundSchema = z.object({
126
126
  perplexity: z.record(z.string(), z.nullable(z.any())).optional(),
127
127
  phala: z.record(z.string(), z.nullable(z.any())).optional(),
128
128
  poolside: z.record(z.string(), z.nullable(z.any())).optional(),
129
+ quiver: z.record(z.string(), z.nullable(z.any())).optional(),
129
130
  recraft: z.record(z.string(), z.nullable(z.any())).optional(),
130
131
  recursal: z.record(z.string(), z.nullable(z.any())).optional(),
131
132
  reflection: z.record(z.string(), z.nullable(z.any())).optional(),
@@ -19,7 +19,7 @@ export declare class APIKeys extends ClientSDK {
19
19
  * Create a new API key
20
20
  *
21
21
  * @remarks
22
- * Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.
22
+ * Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
23
23
  */
24
24
  create(request: operations.CreateKeysRequest, options?: RequestOptions): Promise<operations.CreateKeysResponse>;
25
25
  /**
@@ -33,7 +33,7 @@ export class APIKeys extends ClientSDK {
33
33
  * Create a new API key
34
34
  *
35
35
  * @remarks
36
- * Create a new API key for the authenticated user. [Management key](/docs/guides/overview/auth/management-api-keys) required.
36
+ * Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required.
37
37
  */
38
38
  async create(request, options) {
39
39
  return unwrapAsync(apiKeysCreate(this, request, options));
package/esm/sdk/byok.d.ts CHANGED
@@ -16,7 +16,7 @@ export declare class Byok extends ClientSDK {
16
16
  * Create a BYOK provider credential
17
17
  *
18
18
  * @remarks
19
- * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required.
19
+ * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
20
20
  */
21
21
  create(request: operations.CreateBYOKKeyRequest, options?: RequestOptions): Promise<models.CreateBYOKKeyResponse>;
22
22
  /**
package/esm/sdk/byok.js CHANGED
@@ -24,7 +24,7 @@ export class Byok extends ClientSDK {
24
24
  * Create a BYOK provider credential
25
25
  *
26
26
  * @remarks
27
- * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. [Management key](/docs/guides/overview/auth/management-api-keys) required.
27
+ * Create a new bring-your-own-key (BYOK) provider credential. The raw key is encrypted at rest and never returned in API responses. Defaults to the authenticated entity's default workspace; use the `workspace_id` body field to scope to a different workspace. Treat the raw key as write-only; it is never returned after creation. [Management key](/docs/guides/overview/auth/management-api-keys) required.
28
28
  */
29
29
  async create(request, options) {
30
30
  return unwrapAsync(byokCreate(this, request, options));
@@ -37,7 +37,7 @@ export declare class Guardrails extends ClientSDK {
37
37
  * Update a guardrail
38
38
  *
39
39
  * @remarks
40
- * Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
40
+ * Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
41
41
  */
42
42
  update(request: operations.UpdateGuardrailRequest, options?: RequestOptions): Promise<models.UpdateGuardrailResponse>;
43
43
  /**
@@ -53,7 +53,7 @@ export declare class Guardrails extends ClientSDK {
53
53
  * Bulk assign keys to a guardrail
54
54
  *
55
55
  * @remarks
56
- * Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
56
+ * Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
57
57
  */
58
58
  bulkAssignKeys(request: operations.BulkAssignKeysToGuardrailRequest, options?: RequestOptions): Promise<models.BulkAssignKeysResponse>;
59
59
  /**
@@ -59,7 +59,7 @@ export class Guardrails extends ClientSDK {
59
59
  * Update a guardrail
60
60
  *
61
61
  * @remarks
62
- * Update an existing guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
62
+ * Update an existing guardrail. Collection fields use replace semantics: send the full desired set on every update. [Management key](/docs/guides/overview/auth/management-api-keys) required.
63
63
  */
64
64
  async update(request, options) {
65
65
  return unwrapAsync(guardrailsUpdate(this, request, options));
@@ -77,7 +77,7 @@ export class Guardrails extends ClientSDK {
77
77
  * Bulk assign keys to a guardrail
78
78
  *
79
79
  * @remarks
80
- * Assign multiple API keys to a specific guardrail. [Management key](/docs/guides/overview/auth/management-api-keys) required.
80
+ * Assign multiple API keys to a specific guardrail. A key may hold at most one guardrail; assigning replaces any existing assignment. [Management key](/docs/guides/overview/auth/management-api-keys) required.
81
81
  */
82
82
  async bulkAssignKeys(request, options) {
83
83
  return unwrapAsync(guardrailsBulkAssignKeys(this, request, options));
@@ -23,7 +23,7 @@ export declare class Workspaces extends ClientSDK {
23
23
  * Delete a workspace
24
24
  *
25
25
  * @remarks
26
- * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required.
26
+ * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
27
27
  */
28
28
  delete(request: operations.DeleteWorkspaceRequest, options?: RequestOptions): Promise<models.DeleteWorkspaceResponse>;
29
29
  /**
@@ -38,7 +38,7 @@ export class Workspaces extends ClientSDK {
38
38
  * Delete a workspace
39
39
  *
40
40
  * @remarks
41
- * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted. [Management key](/docs/guides/overview/auth/management-api-keys) required.
41
+ * Delete an existing workspace. The default workspace cannot be deleted. Workspaces with active API keys cannot be deleted; remove the keys first. [Management key](/docs/guides/overview/auth/management-api-keys) required.
42
42
  */
43
43
  async delete(request, options) {
44
44
  return unwrapAsync(workspacesDelete(this, request, options));
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@openrouter/sdk",
5
- "version": "0.13.17",
5
+ "version": "0.13.19",
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.13.17",
3
+ "version": "0.13.19",
4
4
  "author": "OpenRouter",
5
5
  "description": "The OpenRouter TypeScript SDK is a type-safe toolkit for building AI applications with access to 400+ language models through a unified API.",
6
6
  "keywords": [
@@ -73,15 +73,15 @@
73
73
  "lint": "eslint --cache --max-warnings=0 src",
74
74
  "build": "tsc",
75
75
  "prepublishOnly": "npm run build",
76
- "postinstall": "node scripts/check-types.js || true",
77
76
  "prepare": "npm run build",
78
77
  "test": "vitest --run --project unit",
78
+ "compile": "tsc",
79
79
  "test:e2e": "vitest --run --project e2e",
80
+ "test:transit": "exit 0",
80
81
  "test:watch": "vitest --watch --project unit",
82
+ "typecheck": "tsc --noEmit",
81
83
  "typecheck:transit": "exit 0",
82
- "compile": "tsc",
83
- "test:transit": "exit 0",
84
- "typecheck": "tsc --noEmit"
84
+ "postinstall": "node scripts/check-types.js || true"
85
85
  },
86
86
  "peerDependencies": {},
87
87
  "devDependencies": {