@openrouter/sdk 0.13.16 → 0.13.18

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.
@@ -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.16";
52
+ readonly sdkVersion: "0.13.18";
53
53
  readonly genVersion: "2.884.4";
54
- readonly userAgent: "speakeasy-sdk/typescript 0.13.16 2.884.4 1.0.0 @openrouter/sdk";
54
+ readonly userAgent: "speakeasy-sdk/typescript 0.13.18 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.16",
29
+ sdkVersion: "0.13.18",
30
30
  genVersion: "2.884.4",
31
- userAgent: "speakeasy-sdk/typescript 0.13.16 2.884.4 1.0.0 @openrouter/sdk",
31
+ userAgent: "speakeasy-sdk/typescript 0.13.18 2.884.4 1.0.0 @openrouter/sdk",
32
32
  };
33
33
  //# sourceMappingURL=config.js.map
@@ -14,6 +14,10 @@ export type ImageGenCompletedEvent = {
14
14
  * Unix timestamp (seconds) when the image was generated
15
15
  */
16
16
  created: number;
17
+ /**
18
+ * Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`).
19
+ */
20
+ mediaType?: string | undefined;
17
21
  /**
18
22
  * The event type
19
23
  */
@@ -10,11 +10,13 @@ import { ImageGenerationUsage$inboundSchema, } from "./imagegenerationusage.js";
10
10
  export const ImageGenCompletedEvent$inboundSchema = z.object({
11
11
  b64_json: z.string(),
12
12
  created: z.int(),
13
+ media_type: z.string().optional(),
13
14
  type: z.literal("image_generation.completed"),
14
15
  usage: ImageGenerationUsage$inboundSchema.optional(),
15
16
  }).transform((v) => {
16
17
  return remap$(v, {
17
18
  "b64_json": "b64Json",
19
+ "media_type": "mediaType",
18
20
  });
19
21
  });
20
22
  export function imageGenCompletedEventFromJSON(jsonString) {
@@ -7,6 +7,10 @@ export type ImageGenerationResponseData = {
7
7
  * Base64-encoded image bytes
8
8
  */
9
9
  b64Json: string;
10
+ /**
11
+ * Media type (MIME type) of the image. Omitted when the output is a standard raster format (PNG). Present for non-raster outputs such as SVG (`image/svg+xml`).
12
+ */
13
+ mediaType?: string | undefined;
10
14
  };
11
15
  /**
12
16
  * Image generation response
@@ -9,9 +9,11 @@ import { ImageGenerationUsage$inboundSchema, } from "./imagegenerationusage.js";
9
9
  /** @internal */
10
10
  export const ImageGenerationResponseData$inboundSchema = z.object({
11
11
  b64_json: z.string(),
12
+ media_type: z.string().optional(),
12
13
  }).transform((v) => {
13
14
  return remap$(v, {
14
15
  "b64_json": "b64Json",
16
+ "media_type": "mediaType",
15
17
  });
16
18
  });
17
19
  export function imageGenerationResponseDataFromJSON(jsonString) {
@@ -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.16",
5
+ "version": "0.13.18",
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.16",
3
+ "version": "0.13.18",
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
- "compile": "tsc",
77
- "prepare": "npm run build",
78
- "test": "vitest --run --project unit",
79
- "test:e2e": "vitest --run --project e2e",
80
- "test:watch": "vitest --watch --project unit",
81
76
  "postinstall": "node scripts/check-types.js || true",
82
77
  "test:transit": "exit 0",
78
+ "test:watch": "vitest --watch --project unit",
83
79
  "typecheck": "tsc --noEmit",
84
- "typecheck:transit": "exit 0"
80
+ "typecheck:transit": "exit 0",
81
+ "prepare": "npm run build",
82
+ "test": "vitest --run --project unit",
83
+ "test:e2e": "vitest --run --project e2e",
84
+ "compile": "tsc"
85
85
  },
86
86
  "peerDependencies": {},
87
87
  "devDependencies": {