@openrouter/sdk 1.2.11 → 1.2.12

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 (55) hide show
  1. package/esm/funcs/byokCreate.d.ts +1 -1
  2. package/esm/funcs/byokCreate.js +1 -1
  3. package/esm/funcs/observabilityUpdate.d.ts +1 -1
  4. package/esm/funcs/observabilityUpdate.js +1 -1
  5. package/esm/lib/config.d.ts +2 -2
  6. package/esm/lib/config.js +2 -2
  7. package/esm/models/byokkey.d.ts +2 -2
  8. package/esm/models/byokkey.js +1 -1
  9. package/esm/models/createbyokkeyrequest.d.ts +1 -1
  10. package/esm/models/createguardrailrequest.d.ts +1 -1
  11. package/esm/models/createobservabilitydestinationrequest.d.ts +15 -0
  12. package/esm/models/createobservabilitydestinationrequest.js +6 -0
  13. package/esm/models/guardrail.d.ts +2 -2
  14. package/esm/models/guardrail.js +1 -1
  15. package/esm/models/observabilityarizedestination.d.ts +12 -0
  16. package/esm/models/observabilityarizedestination.js +6 -0
  17. package/esm/models/observabilitybraintrustdestination.d.ts +12 -0
  18. package/esm/models/observabilitybraintrustdestination.js +6 -0
  19. package/esm/models/observabilityclickhousedestination.d.ts +12 -0
  20. package/esm/models/observabilityclickhousedestination.js +6 -0
  21. package/esm/models/observabilitydatadogdestination.d.ts +12 -0
  22. package/esm/models/observabilitydatadogdestination.js +6 -0
  23. package/esm/models/observabilitygrafanadestination.d.ts +12 -0
  24. package/esm/models/observabilitygrafanadestination.js +6 -0
  25. package/esm/models/observabilitylangfusedestination.d.ts +12 -0
  26. package/esm/models/observabilitylangfusedestination.js +6 -0
  27. package/esm/models/observabilitylangsmithdestination.d.ts +12 -0
  28. package/esm/models/observabilitylangsmithdestination.js +6 -0
  29. package/esm/models/observabilitynewrelicdestination.d.ts +12 -0
  30. package/esm/models/observabilitynewrelicdestination.js +6 -0
  31. package/esm/models/observabilityopikdestination.d.ts +12 -0
  32. package/esm/models/observabilityopikdestination.js +6 -0
  33. package/esm/models/observabilityotelcollectordestination.d.ts +12 -0
  34. package/esm/models/observabilityotelcollectordestination.js +6 -0
  35. package/esm/models/observabilityposthogdestination.d.ts +12 -0
  36. package/esm/models/observabilityposthogdestination.js +6 -0
  37. package/esm/models/observabilityrampdestination.d.ts +12 -0
  38. package/esm/models/observabilityrampdestination.js +6 -0
  39. package/esm/models/observabilitys3destination.d.ts +12 -0
  40. package/esm/models/observabilitys3destination.js +6 -0
  41. package/esm/models/observabilitysentrydestination.d.ts +12 -0
  42. package/esm/models/observabilitysentrydestination.js +6 -0
  43. package/esm/models/observabilitysnowflakedestination.d.ts +12 -0
  44. package/esm/models/observabilitysnowflakedestination.js +6 -0
  45. package/esm/models/observabilityweavedestination.d.ts +12 -0
  46. package/esm/models/observabilityweavedestination.js +6 -0
  47. package/esm/models/observabilitywebhookdestination.d.ts +12 -0
  48. package/esm/models/observabilitywebhookdestination.js +6 -0
  49. package/esm/models/operations/listbyokkeys.d.ts +1 -1
  50. package/esm/models/updateobservabilitydestinationrequest.d.ts +15 -0
  51. package/esm/models/updateobservabilitydestinationrequest.js +6 -0
  52. package/esm/sdk/byok.d.ts +1 -1
  53. package/esm/sdk/byok.js +1 -1
  54. package/jsr.json +1 -1
  55. package/package.json +6 -6
@@ -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. Treat the raw key as write-only; it is never returned after creation. [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. When `workspace_id` is omitted, the credential is created in the default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly. 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. Treat the raw key as write-only; it is never returned after creation. [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. When `workspace_id` is omitted, the credential is created in the default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly. 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));
@@ -15,5 +15,5 @@ import { Result } from "../types/fp.js";
15
15
  * @remarks
16
16
  * Update an existing observability destination. Only the fields provided in the request body are updated. [Management key](/docs/guides/overview/auth/management-api-keys) required.
17
17
  */
18
- export declare function observabilityUpdate(client: OpenRouterCore, request: operations.UpdateObservabilityDestinationRequest, options?: RequestOptions): APIPromise<Result<models.UpdateObservabilityDestinationResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.NotFoundResponseError | errors.ConflictResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
18
+ export declare function observabilityUpdate(client: OpenRouterCore, request: operations.UpdateObservabilityDestinationRequest, options?: RequestOptions): APIPromise<Result<models.UpdateObservabilityDestinationResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.ForbiddenResponseError | errors.NotFoundResponseError | errors.ConflictResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
19
19
  //# sourceMappingURL=observabilityUpdate.d.ts.map
@@ -95,7 +95,7 @@ async function $do(client, request, options) {
95
95
  const responseFields = {
96
96
  HttpMeta: { Response: response, Request: req },
97
97
  };
98
- const [result] = await M.match(M.json(200, models.UpdateObservabilityDestinationResponse$inboundSchema), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(404, errors.NotFoundResponseError$inboundSchema), M.jsonErr(409, errors.ConflictResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
98
+ const [result] = await M.match(M.json(200, models.UpdateObservabilityDestinationResponse$inboundSchema), M.jsonErr(400, errors.BadRequestResponseError$inboundSchema), M.jsonErr(401, errors.UnauthorizedResponseError$inboundSchema), M.jsonErr(403, errors.ForbiddenResponseError$inboundSchema), M.jsonErr(404, errors.NotFoundResponseError$inboundSchema), M.jsonErr(409, errors.ConflictResponseError$inboundSchema), M.jsonErr(500, errors.InternalServerResponseError$inboundSchema), M.fail("4XX"), M.fail("5XX"))(response, req, { extraFields: responseFields });
99
99
  if (!result.ok) {
100
100
  return [result, { status: "complete", request: req, response }];
101
101
  }
@@ -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: "1.2.11";
52
+ readonly sdkVersion: "1.2.12";
53
53
  readonly genVersion: "2.914.0";
54
- readonly userAgent: "speakeasy-sdk/typescript 1.2.11 2.914.0 1.0.0 @openrouter/sdk";
54
+ readonly userAgent: "speakeasy-sdk/typescript 1.2.12 2.914.0 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: "1.2.11",
29
+ sdkVersion: "1.2.12",
30
30
  genVersion: "2.914.0",
31
- userAgent: "speakeasy-sdk/typescript 1.2.11 2.914.0 1.0.0 @openrouter/sdk",
31
+ userAgent: "speakeasy-sdk/typescript 1.2.12 2.914.0 1.0.0 @openrouter/sdk",
32
32
  };
33
33
  //# sourceMappingURL=config.js.map
@@ -48,9 +48,9 @@ export type BYOKKey = {
48
48
  */
49
49
  sortOrder: number;
50
50
  /**
51
- * ID of the workspace this credential belongs to.
51
+ * The workspace this credential is scoped to, or `null` when it is global — usable across every workspace in the account. A `null` value does not mean the default workspace.
52
52
  */
53
- workspaceId: string;
53
+ workspaceId: string | null;
54
54
  };
55
55
  /** @internal */
56
56
  export declare const BYOKKey$inboundSchema: z.ZodType<BYOKKey, unknown>;
@@ -19,7 +19,7 @@ export const BYOKKey$inboundSchema = z.object({
19
19
  name: z.nullable(z.string()).optional(),
20
20
  provider: BYOKProviderSlug$inboundSchema,
21
21
  sort_order: z.int(),
22
- workspace_id: z.string(),
22
+ workspace_id: z.nullable(z.string()),
23
23
  }).transform((v) => {
24
24
  return remap$(v, {
25
25
  "allowed_api_key_hashes": "allowedApiKeyHashes",
@@ -30,7 +30,7 @@ export type CreateBYOKKeyRequest = {
30
30
  */
31
31
  provider: BYOKProviderSlug;
32
32
  /**
33
- * Optional workspace ID. Defaults to the authenticated entity's default workspace.
33
+ * Optional workspace ID to scope the credential to. When omitted, the credential is created in the account's default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly.
34
34
  */
35
35
  workspaceId?: string | undefined;
36
36
  };
@@ -86,7 +86,7 @@ export type CreateGuardrailRequest = {
86
86
  */
87
87
  resetInterval?: GuardrailInterval | null | undefined;
88
88
  /**
89
- * The workspace to create the guardrail in. Defaults to the default workspace if not provided.
89
+ * The workspace to create the guardrail in. When omitted, the guardrail is created in the default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly.
90
90
  */
91
91
  workspaceId?: string | undefined;
92
92
  };
@@ -32,6 +32,18 @@ export type CreateObservabilityDestinationRequest = {
32
32
  * Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided.
33
33
  */
34
34
  apiKeyHashes?: Array<string> | null | undefined;
35
+ /**
36
+ * When true, include cost and billing generation metadata.
37
+ */
38
+ broadcastGenerationCost?: boolean | undefined;
39
+ /**
40
+ * When true, include identity generation metadata.
41
+ */
42
+ broadcastGenerationIdentity?: boolean | undefined;
43
+ /**
44
+ * When true, include request-context generation metadata.
45
+ */
46
+ broadcastGenerationRequestContext?: boolean | undefined;
35
47
  /**
36
48
  * Provider-specific configuration. The shape depends on `type` and is validated server-side.
37
49
  */
@@ -72,6 +84,9 @@ export declare const CreateObservabilityDestinationRequestType$outboundSchema: z
72
84
  /** @internal */
73
85
  export type CreateObservabilityDestinationRequest$Outbound = {
74
86
  api_key_hashes?: Array<string> | null | undefined;
87
+ broadcast_generation_cost: boolean;
88
+ broadcast_generation_identity: boolean;
89
+ broadcast_generation_request_context: boolean;
75
90
  config: {
76
91
  [k: string]: any;
77
92
  };
@@ -34,6 +34,9 @@ export const CreateObservabilityDestinationRequestType$outboundSchema = openEnum
34
34
  /** @internal */
35
35
  export const CreateObservabilityDestinationRequest$outboundSchema = z.object({
36
36
  apiKeyHashes: z.nullable(z.array(z.string())).optional(),
37
+ broadcastGenerationCost: z.boolean().default(false),
38
+ broadcastGenerationIdentity: z.boolean().default(false),
39
+ broadcastGenerationRequestContext: z.boolean().default(false),
37
40
  config: z.record(z.string(), z.any()),
38
41
  enabled: z.boolean().default(true),
39
42
  filterRules: z.nullable(ObservabilityFilterRulesConfigNullable$outboundSchema)
@@ -46,6 +49,9 @@ export const CreateObservabilityDestinationRequest$outboundSchema = z.object({
46
49
  }).transform((v) => {
47
50
  return remap$(v, {
48
51
  apiKeyHashes: "api_key_hashes",
52
+ broadcastGenerationCost: "broadcast_generation_cost",
53
+ broadcastGenerationIdentity: "broadcast_generation_identity",
54
+ broadcastGenerationRequestContext: "broadcast_generation_request_context",
49
55
  filterRules: "filter_rules",
50
56
  privacyMode: "privacy_mode",
51
57
  samplingRate: "sampling_rate",
@@ -100,9 +100,9 @@ export type Guardrail = {
100
100
  */
101
101
  updatedAt?: string | null | undefined;
102
102
  /**
103
- * The workspace ID this guardrail belongs to.
103
+ * The workspace this guardrail is scoped to, or `null` for an unscoped legacy guardrail predating workspaces. A `null` value does not mean the default workspace, and does not apply the guardrail across every workspace.
104
104
  */
105
- workspaceId: string;
105
+ workspaceId: string | null;
106
106
  };
107
107
  /** @internal */
108
108
  export declare const Guardrail$inboundSchema: z.ZodType<Guardrail, unknown>;
@@ -34,7 +34,7 @@ export const Guardrail$inboundSchema = z.object({
34
34
  name: z.string(),
35
35
  reset_interval: z.nullable(GuardrailInterval$inboundSchema).optional(),
36
36
  updated_at: z.nullable(z.string()).optional(),
37
- workspace_id: z.string(),
37
+ workspace_id: z.nullable(z.string()),
38
38
  }).transform((v) => {
39
39
  return remap$(v, {
40
40
  "allowed_models": "allowedModels",
@@ -22,6 +22,18 @@ export type ObservabilityArizeDestination = {
22
22
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
23
23
  */
24
24
  apiKeyHashes: Array<string> | null;
25
+ /**
26
+ * When true, include cost and billing generation metadata.
27
+ */
28
+ broadcastGenerationCost: boolean;
29
+ /**
30
+ * When true, include identity generation metadata.
31
+ */
32
+ broadcastGenerationIdentity: boolean;
33
+ /**
34
+ * When true, include request-context generation metadata.
35
+ */
36
+ broadcastGenerationRequestContext: boolean;
25
37
  config: ObservabilityArizeDestinationConfig;
26
38
  /**
27
39
  * ISO timestamp of when the destination was created.
@@ -20,6 +20,9 @@ export function observabilityArizeDestinationConfigFromJSON(jsonString) {
20
20
  /** @internal */
21
21
  export const ObservabilityArizeDestination$inboundSchema = z.object({
22
22
  api_key_hashes: z.nullable(z.array(z.string())),
23
+ broadcast_generation_cost: z.boolean(),
24
+ broadcast_generation_identity: z.boolean(),
25
+ broadcast_generation_request_context: z.boolean(),
23
26
  config: z.lazy(() => ObservabilityArizeDestinationConfig$inboundSchema),
24
27
  created_at: z.string(),
25
28
  enabled: z.boolean(),
@@ -34,6 +37,9 @@ export const ObservabilityArizeDestination$inboundSchema = z.object({
34
37
  }).transform((v) => {
35
38
  return remap$(v, {
36
39
  "api_key_hashes": "apiKeyHashes",
40
+ "broadcast_generation_cost": "broadcastGenerationCost",
41
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
42
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
37
43
  "created_at": "createdAt",
38
44
  "filter_rules": "filterRules",
39
45
  "privacy_mode": "privacyMode",
@@ -18,6 +18,18 @@ export type ObservabilityBraintrustDestination = {
18
18
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
19
19
  */
20
20
  apiKeyHashes: Array<string> | null;
21
+ /**
22
+ * When true, include cost and billing generation metadata.
23
+ */
24
+ broadcastGenerationCost: boolean;
25
+ /**
26
+ * When true, include identity generation metadata.
27
+ */
28
+ broadcastGenerationIdentity: boolean;
29
+ /**
30
+ * When true, include request-context generation metadata.
31
+ */
32
+ broadcastGenerationRequestContext: boolean;
21
33
  config: ObservabilityBraintrustDestinationConfig;
22
34
  /**
23
35
  * ISO timestamp of when the destination was created.
@@ -19,6 +19,9 @@ export function observabilityBraintrustDestinationConfigFromJSON(jsonString) {
19
19
  /** @internal */
20
20
  export const ObservabilityBraintrustDestination$inboundSchema = z.object({
21
21
  api_key_hashes: z.nullable(z.array(z.string())),
22
+ broadcast_generation_cost: z.boolean(),
23
+ broadcast_generation_identity: z.boolean(),
24
+ broadcast_generation_request_context: z.boolean(),
22
25
  config: z.lazy(() => ObservabilityBraintrustDestinationConfig$inboundSchema),
23
26
  created_at: z.string(),
24
27
  enabled: z.boolean(),
@@ -33,6 +36,9 @@ export const ObservabilityBraintrustDestination$inboundSchema = z.object({
33
36
  }).transform((v) => {
34
37
  return remap$(v, {
35
38
  "api_key_hashes": "apiKeyHashes",
39
+ "broadcast_generation_cost": "broadcastGenerationCost",
40
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
41
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
36
42
  "created_at": "createdAt",
37
43
  "filter_rules": "filterRules",
38
44
  "privacy_mode": "privacyMode",
@@ -23,6 +23,18 @@ export type ObservabilityClickhouseDestination = {
23
23
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
24
24
  */
25
25
  apiKeyHashes: Array<string> | null;
26
+ /**
27
+ * When true, include cost and billing generation metadata.
28
+ */
29
+ broadcastGenerationCost: boolean;
30
+ /**
31
+ * When true, include identity generation metadata.
32
+ */
33
+ broadcastGenerationIdentity: boolean;
34
+ /**
35
+ * When true, include request-context generation metadata.
36
+ */
37
+ broadcastGenerationRequestContext: boolean;
26
38
  config: ObservabilityClickhouseDestinationConfig;
27
39
  /**
28
40
  * ISO timestamp of when the destination was created.
@@ -21,6 +21,9 @@ export function observabilityClickhouseDestinationConfigFromJSON(jsonString) {
21
21
  /** @internal */
22
22
  export const ObservabilityClickhouseDestination$inboundSchema = z.object({
23
23
  api_key_hashes: z.nullable(z.array(z.string())),
24
+ broadcast_generation_cost: z.boolean(),
25
+ broadcast_generation_identity: z.boolean(),
26
+ broadcast_generation_request_context: z.boolean(),
24
27
  config: z.lazy(() => ObservabilityClickhouseDestinationConfig$inboundSchema),
25
28
  created_at: z.string(),
26
29
  enabled: z.boolean(),
@@ -35,6 +38,9 @@ export const ObservabilityClickhouseDestination$inboundSchema = z.object({
35
38
  }).transform((v) => {
36
39
  return remap$(v, {
37
40
  "api_key_hashes": "apiKeyHashes",
41
+ "broadcast_generation_cost": "broadcastGenerationCost",
42
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
43
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
38
44
  "created_at": "createdAt",
39
45
  "filter_rules": "filterRules",
40
46
  "privacy_mode": "privacyMode",
@@ -27,6 +27,18 @@ export type ObservabilityDatadogDestination = {
27
27
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
28
28
  */
29
29
  apiKeyHashes: Array<string> | null;
30
+ /**
31
+ * When true, include cost and billing generation metadata.
32
+ */
33
+ broadcastGenerationCost: boolean;
34
+ /**
35
+ * When true, include identity generation metadata.
36
+ */
37
+ broadcastGenerationIdentity: boolean;
38
+ /**
39
+ * When true, include request-context generation metadata.
40
+ */
41
+ broadcastGenerationRequestContext: boolean;
30
42
  config: ObservabilityDatadogDestinationConfig;
31
43
  /**
32
44
  * ISO timestamp of when the destination was created.
@@ -19,6 +19,9 @@ export function observabilityDatadogDestinationConfigFromJSON(jsonString) {
19
19
  /** @internal */
20
20
  export const ObservabilityDatadogDestination$inboundSchema = z.object({
21
21
  api_key_hashes: z.nullable(z.array(z.string())),
22
+ broadcast_generation_cost: z.boolean(),
23
+ broadcast_generation_identity: z.boolean(),
24
+ broadcast_generation_request_context: z.boolean(),
22
25
  config: z.lazy(() => ObservabilityDatadogDestinationConfig$inboundSchema),
23
26
  created_at: z.string(),
24
27
  enabled: z.boolean(),
@@ -33,6 +36,9 @@ export const ObservabilityDatadogDestination$inboundSchema = z.object({
33
36
  }).transform((v) => {
34
37
  return remap$(v, {
35
38
  "api_key_hashes": "apiKeyHashes",
39
+ "broadcast_generation_cost": "broadcastGenerationCost",
40
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
41
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
36
42
  "created_at": "createdAt",
37
43
  "filter_rules": "filterRules",
38
44
  "privacy_mode": "privacyMode",
@@ -18,6 +18,18 @@ export type ObservabilityGrafanaDestination = {
18
18
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
19
19
  */
20
20
  apiKeyHashes: Array<string> | null;
21
+ /**
22
+ * When true, include cost and billing generation metadata.
23
+ */
24
+ broadcastGenerationCost: boolean;
25
+ /**
26
+ * When true, include identity generation metadata.
27
+ */
28
+ broadcastGenerationIdentity: boolean;
29
+ /**
30
+ * When true, include request-context generation metadata.
31
+ */
32
+ broadcastGenerationRequestContext: boolean;
21
33
  config: ObservabilityGrafanaDestinationConfig;
22
34
  /**
23
35
  * ISO timestamp of when the destination was created.
@@ -19,6 +19,9 @@ export function observabilityGrafanaDestinationConfigFromJSON(jsonString) {
19
19
  /** @internal */
20
20
  export const ObservabilityGrafanaDestination$inboundSchema = z.object({
21
21
  api_key_hashes: z.nullable(z.array(z.string())),
22
+ broadcast_generation_cost: z.boolean(),
23
+ broadcast_generation_identity: z.boolean(),
24
+ broadcast_generation_request_context: z.boolean(),
22
25
  config: z.lazy(() => ObservabilityGrafanaDestinationConfig$inboundSchema),
23
26
  created_at: z.string(),
24
27
  enabled: z.boolean(),
@@ -33,6 +36,9 @@ export const ObservabilityGrafanaDestination$inboundSchema = z.object({
33
36
  }).transform((v) => {
34
37
  return remap$(v, {
35
38
  "api_key_hashes": "apiKeyHashes",
39
+ "broadcast_generation_cost": "broadcastGenerationCost",
40
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
41
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
36
42
  "created_at": "createdAt",
37
43
  "filter_rules": "filterRules",
38
44
  "privacy_mode": "privacyMode",
@@ -18,6 +18,18 @@ export type ObservabilityLangfuseDestination = {
18
18
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
19
19
  */
20
20
  apiKeyHashes: Array<string> | null;
21
+ /**
22
+ * When true, include cost and billing generation metadata.
23
+ */
24
+ broadcastGenerationCost: boolean;
25
+ /**
26
+ * When true, include identity generation metadata.
27
+ */
28
+ broadcastGenerationIdentity: boolean;
29
+ /**
30
+ * When true, include request-context generation metadata.
31
+ */
32
+ broadcastGenerationRequestContext: boolean;
21
33
  config: ObservabilityLangfuseDestinationConfig;
22
34
  /**
23
35
  * ISO timestamp of when the destination was created.
@@ -19,6 +19,9 @@ export function observabilityLangfuseDestinationConfigFromJSON(jsonString) {
19
19
  /** @internal */
20
20
  export const ObservabilityLangfuseDestination$inboundSchema = z.object({
21
21
  api_key_hashes: z.nullable(z.array(z.string())),
22
+ broadcast_generation_cost: z.boolean(),
23
+ broadcast_generation_identity: z.boolean(),
24
+ broadcast_generation_request_context: z.boolean(),
22
25
  config: z.lazy(() => ObservabilityLangfuseDestinationConfig$inboundSchema),
23
26
  created_at: z.string(),
24
27
  enabled: z.boolean(),
@@ -33,6 +36,9 @@ export const ObservabilityLangfuseDestination$inboundSchema = z.object({
33
36
  }).transform((v) => {
34
37
  return remap$(v, {
35
38
  "api_key_hashes": "apiKeyHashes",
39
+ "broadcast_generation_cost": "broadcastGenerationCost",
40
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
41
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
36
42
  "created_at": "createdAt",
37
43
  "filter_rules": "filterRules",
38
44
  "privacy_mode": "privacyMode",
@@ -25,6 +25,18 @@ export type ObservabilityLangsmithDestination = {
25
25
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
26
26
  */
27
27
  apiKeyHashes: Array<string> | null;
28
+ /**
29
+ * When true, include cost and billing generation metadata.
30
+ */
31
+ broadcastGenerationCost: boolean;
32
+ /**
33
+ * When true, include identity generation metadata.
34
+ */
35
+ broadcastGenerationIdentity: boolean;
36
+ /**
37
+ * When true, include request-context generation metadata.
38
+ */
39
+ broadcastGenerationRequestContext: boolean;
28
40
  config: ObservabilityLangsmithDestinationConfig;
29
41
  /**
30
42
  * ISO timestamp of when the destination was created.
@@ -20,6 +20,9 @@ export function observabilityLangsmithDestinationConfigFromJSON(jsonString) {
20
20
  /** @internal */
21
21
  export const ObservabilityLangsmithDestination$inboundSchema = z.object({
22
22
  api_key_hashes: z.nullable(z.array(z.string())),
23
+ broadcast_generation_cost: z.boolean(),
24
+ broadcast_generation_identity: z.boolean(),
25
+ broadcast_generation_request_context: z.boolean(),
23
26
  config: z.lazy(() => ObservabilityLangsmithDestinationConfig$inboundSchema),
24
27
  created_at: z.string(),
25
28
  enabled: z.boolean(),
@@ -34,6 +37,9 @@ export const ObservabilityLangsmithDestination$inboundSchema = z.object({
34
37
  }).transform((v) => {
35
38
  return remap$(v, {
36
39
  "api_key_hashes": "apiKeyHashes",
40
+ "broadcast_generation_cost": "broadcastGenerationCost",
41
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
42
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
37
43
  "created_at": "createdAt",
38
44
  "filter_rules": "filterRules",
39
45
  "privacy_mode": "privacyMode",
@@ -23,6 +23,18 @@ export type ObservabilityNewrelicDestination = {
23
23
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
24
24
  */
25
25
  apiKeyHashes: Array<string> | null;
26
+ /**
27
+ * When true, include cost and billing generation metadata.
28
+ */
29
+ broadcastGenerationCost: boolean;
30
+ /**
31
+ * When true, include identity generation metadata.
32
+ */
33
+ broadcastGenerationIdentity: boolean;
34
+ /**
35
+ * When true, include request-context generation metadata.
36
+ */
37
+ broadcastGenerationRequestContext: boolean;
26
38
  config: ObservabilityNewrelicDestinationConfig;
27
39
  /**
28
40
  * ISO timestamp of when the destination was created.
@@ -26,6 +26,9 @@ export function observabilityNewrelicDestinationConfigFromJSON(jsonString) {
26
26
  /** @internal */
27
27
  export const ObservabilityNewrelicDestination$inboundSchema = z.object({
28
28
  api_key_hashes: z.nullable(z.array(z.string())),
29
+ broadcast_generation_cost: z.boolean(),
30
+ broadcast_generation_identity: z.boolean(),
31
+ broadcast_generation_request_context: z.boolean(),
29
32
  config: z.lazy(() => ObservabilityNewrelicDestinationConfig$inboundSchema),
30
33
  created_at: z.string(),
31
34
  enabled: z.boolean(),
@@ -40,6 +43,9 @@ export const ObservabilityNewrelicDestination$inboundSchema = z.object({
40
43
  }).transform((v) => {
41
44
  return remap$(v, {
42
45
  "api_key_hashes": "apiKeyHashes",
46
+ "broadcast_generation_cost": "broadcastGenerationCost",
47
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
48
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
43
49
  "created_at": "createdAt",
44
50
  "filter_rules": "filterRules",
45
51
  "privacy_mode": "privacyMode",
@@ -18,6 +18,18 @@ export type ObservabilityOpikDestination = {
18
18
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
19
19
  */
20
20
  apiKeyHashes: Array<string> | null;
21
+ /**
22
+ * When true, include cost and billing generation metadata.
23
+ */
24
+ broadcastGenerationCost: boolean;
25
+ /**
26
+ * When true, include identity generation metadata.
27
+ */
28
+ broadcastGenerationIdentity: boolean;
29
+ /**
30
+ * When true, include request-context generation metadata.
31
+ */
32
+ broadcastGenerationRequestContext: boolean;
21
33
  config: ObservabilityOpikDestinationConfig;
22
34
  /**
23
35
  * ISO timestamp of when the destination was created.
@@ -19,6 +19,9 @@ export function observabilityOpikDestinationConfigFromJSON(jsonString) {
19
19
  /** @internal */
20
20
  export const ObservabilityOpikDestination$inboundSchema = z.object({
21
21
  api_key_hashes: z.nullable(z.array(z.string())),
22
+ broadcast_generation_cost: z.boolean(),
23
+ broadcast_generation_identity: z.boolean(),
24
+ broadcast_generation_request_context: z.boolean(),
22
25
  config: z.lazy(() => ObservabilityOpikDestinationConfig$inboundSchema),
23
26
  created_at: z.string(),
24
27
  enabled: z.boolean(),
@@ -33,6 +36,9 @@ export const ObservabilityOpikDestination$inboundSchema = z.object({
33
36
  }).transform((v) => {
34
37
  return remap$(v, {
35
38
  "api_key_hashes": "apiKeyHashes",
39
+ "broadcast_generation_cost": "broadcastGenerationCost",
40
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
41
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
36
42
  "created_at": "createdAt",
37
43
  "filter_rules": "filterRules",
38
44
  "privacy_mode": "privacyMode",
@@ -16,6 +16,18 @@ export type ObservabilityOtelCollectorDestination = {
16
16
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
17
17
  */
18
18
  apiKeyHashes: Array<string> | null;
19
+ /**
20
+ * When true, include cost and billing generation metadata.
21
+ */
22
+ broadcastGenerationCost: boolean;
23
+ /**
24
+ * When true, include identity generation metadata.
25
+ */
26
+ broadcastGenerationIdentity: boolean;
27
+ /**
28
+ * When true, include request-context generation metadata.
29
+ */
30
+ broadcastGenerationRequestContext: boolean;
19
31
  config: ObservabilityOtelCollectorDestinationConfig;
20
32
  /**
21
33
  * ISO timestamp of when the destination was created.
@@ -17,6 +17,9 @@ export function observabilityOtelCollectorDestinationConfigFromJSON(jsonString)
17
17
  /** @internal */
18
18
  export const ObservabilityOtelCollectorDestination$inboundSchema = z.object({
19
19
  api_key_hashes: z.nullable(z.array(z.string())),
20
+ broadcast_generation_cost: z.boolean(),
21
+ broadcast_generation_identity: z.boolean(),
22
+ broadcast_generation_request_context: z.boolean(),
20
23
  config: z.lazy(() => ObservabilityOtelCollectorDestinationConfig$inboundSchema),
21
24
  created_at: z.string(),
22
25
  enabled: z.boolean(),
@@ -31,6 +34,9 @@ export const ObservabilityOtelCollectorDestination$inboundSchema = z.object({
31
34
  }).transform((v) => {
32
35
  return remap$(v, {
33
36
  "api_key_hashes": "apiKeyHashes",
37
+ "broadcast_generation_cost": "broadcastGenerationCost",
38
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
39
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
34
40
  "created_at": "createdAt",
35
41
  "filter_rules": "filterRules",
36
42
  "privacy_mode": "privacyMode",
@@ -17,6 +17,18 @@ export type ObservabilityPosthogDestination = {
17
17
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
18
18
  */
19
19
  apiKeyHashes: Array<string> | null;
20
+ /**
21
+ * When true, include cost and billing generation metadata.
22
+ */
23
+ broadcastGenerationCost: boolean;
24
+ /**
25
+ * When true, include identity generation metadata.
26
+ */
27
+ broadcastGenerationIdentity: boolean;
28
+ /**
29
+ * When true, include request-context generation metadata.
30
+ */
31
+ broadcastGenerationRequestContext: boolean;
20
32
  config: ObservabilityPosthogDestinationConfig;
21
33
  /**
22
34
  * ISO timestamp of when the destination was created.
@@ -18,6 +18,9 @@ export function observabilityPosthogDestinationConfigFromJSON(jsonString) {
18
18
  /** @internal */
19
19
  export const ObservabilityPosthogDestination$inboundSchema = z.object({
20
20
  api_key_hashes: z.nullable(z.array(z.string())),
21
+ broadcast_generation_cost: z.boolean(),
22
+ broadcast_generation_identity: z.boolean(),
23
+ broadcast_generation_request_context: z.boolean(),
21
24
  config: z.lazy(() => ObservabilityPosthogDestinationConfig$inboundSchema),
22
25
  created_at: z.string(),
23
26
  enabled: z.boolean(),
@@ -32,6 +35,9 @@ export const ObservabilityPosthogDestination$inboundSchema = z.object({
32
35
  }).transform((v) => {
33
36
  return remap$(v, {
34
37
  "api_key_hashes": "apiKeyHashes",
38
+ "broadcast_generation_cost": "broadcastGenerationCost",
39
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
40
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
35
41
  "created_at": "createdAt",
36
42
  "filter_rules": "filterRules",
37
43
  "privacy_mode": "privacyMode",
@@ -20,6 +20,18 @@ export type ObservabilityRampDestination = {
20
20
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
21
21
  */
22
22
  apiKeyHashes: Array<string> | null;
23
+ /**
24
+ * When true, include cost and billing generation metadata.
25
+ */
26
+ broadcastGenerationCost: boolean;
27
+ /**
28
+ * When true, include identity generation metadata.
29
+ */
30
+ broadcastGenerationIdentity: boolean;
31
+ /**
32
+ * When true, include request-context generation metadata.
33
+ */
34
+ broadcastGenerationRequestContext: boolean;
23
35
  config: ObservabilityRampDestinationConfig;
24
36
  /**
25
37
  * ISO timestamp of when the destination was created.
@@ -18,6 +18,9 @@ export function observabilityRampDestinationConfigFromJSON(jsonString) {
18
18
  /** @internal */
19
19
  export const ObservabilityRampDestination$inboundSchema = z.object({
20
20
  api_key_hashes: z.nullable(z.array(z.string())),
21
+ broadcast_generation_cost: z.boolean(),
22
+ broadcast_generation_identity: z.boolean(),
23
+ broadcast_generation_request_context: z.boolean(),
21
24
  config: z.lazy(() => ObservabilityRampDestinationConfig$inboundSchema),
22
25
  created_at: z.string(),
23
26
  enabled: z.boolean(),
@@ -32,6 +35,9 @@ export const ObservabilityRampDestination$inboundSchema = z.object({
32
35
  }).transform((v) => {
33
36
  return remap$(v, {
34
37
  "api_key_hashes": "apiKeyHashes",
38
+ "broadcast_generation_cost": "broadcastGenerationCost",
39
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
40
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
35
41
  "created_at": "createdAt",
36
42
  "filter_rules": "filterRules",
37
43
  "privacy_mode": "privacyMode",
@@ -29,6 +29,18 @@ export type ObservabilityS3Destination = {
29
29
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
30
30
  */
31
31
  apiKeyHashes: Array<string> | null;
32
+ /**
33
+ * When true, include cost and billing generation metadata.
34
+ */
35
+ broadcastGenerationCost: boolean;
36
+ /**
37
+ * When true, include identity generation metadata.
38
+ */
39
+ broadcastGenerationIdentity: boolean;
40
+ /**
41
+ * When true, include request-context generation metadata.
42
+ */
43
+ broadcastGenerationRequestContext: boolean;
32
44
  config: ObservabilityS3DestinationConfig;
33
45
  /**
34
46
  * ISO timestamp of when the destination was created.
@@ -24,6 +24,9 @@ export function observabilityS3DestinationConfigFromJSON(jsonString) {
24
24
  /** @internal */
25
25
  export const ObservabilityS3Destination$inboundSchema = z.object({
26
26
  api_key_hashes: z.nullable(z.array(z.string())),
27
+ broadcast_generation_cost: z.boolean(),
28
+ broadcast_generation_identity: z.boolean(),
29
+ broadcast_generation_request_context: z.boolean(),
27
30
  config: z.lazy(() => ObservabilityS3DestinationConfig$inboundSchema),
28
31
  created_at: z.string(),
29
32
  enabled: z.boolean(),
@@ -38,6 +41,9 @@ export const ObservabilityS3Destination$inboundSchema = z.object({
38
41
  }).transform((v) => {
39
42
  return remap$(v, {
40
43
  "api_key_hashes": "apiKeyHashes",
44
+ "broadcast_generation_cost": "broadcastGenerationCost",
45
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
46
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
41
47
  "created_at": "createdAt",
42
48
  "filter_rules": "filterRules",
43
49
  "privacy_mode": "privacyMode",
@@ -17,6 +17,18 @@ export type ObservabilitySentryDestination = {
17
17
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
18
18
  */
19
19
  apiKeyHashes: Array<string> | null;
20
+ /**
21
+ * When true, include cost and billing generation metadata.
22
+ */
23
+ broadcastGenerationCost: boolean;
24
+ /**
25
+ * When true, include identity generation metadata.
26
+ */
27
+ broadcastGenerationIdentity: boolean;
28
+ /**
29
+ * When true, include request-context generation metadata.
30
+ */
31
+ broadcastGenerationRequestContext: boolean;
20
32
  config: ObservabilitySentryDestinationConfig;
21
33
  /**
22
34
  * ISO timestamp of when the destination was created.
@@ -18,6 +18,9 @@ export function observabilitySentryDestinationConfigFromJSON(jsonString) {
18
18
  /** @internal */
19
19
  export const ObservabilitySentryDestination$inboundSchema = z.object({
20
20
  api_key_hashes: z.nullable(z.array(z.string())),
21
+ broadcast_generation_cost: z.boolean(),
22
+ broadcast_generation_identity: z.boolean(),
23
+ broadcast_generation_request_context: z.boolean(),
21
24
  config: z.lazy(() => ObservabilitySentryDestinationConfig$inboundSchema),
22
25
  created_at: z.string(),
23
26
  enabled: z.boolean(),
@@ -32,6 +35,9 @@ export const ObservabilitySentryDestination$inboundSchema = z.object({
32
35
  }).transform((v) => {
33
36
  return remap$(v, {
34
37
  "api_key_hashes": "apiKeyHashes",
38
+ "broadcast_generation_cost": "broadcastGenerationCost",
39
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
40
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
35
41
  "created_at": "createdAt",
36
42
  "filter_rules": "filterRules",
37
43
  "privacy_mode": "privacyMode",
@@ -21,6 +21,18 @@ export type ObservabilitySnowflakeDestination = {
21
21
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
22
22
  */
23
23
  apiKeyHashes: Array<string> | null;
24
+ /**
25
+ * When true, include cost and billing generation metadata.
26
+ */
27
+ broadcastGenerationCost: boolean;
28
+ /**
29
+ * When true, include identity generation metadata.
30
+ */
31
+ broadcastGenerationIdentity: boolean;
32
+ /**
33
+ * When true, include request-context generation metadata.
34
+ */
35
+ broadcastGenerationRequestContext: boolean;
24
36
  config: ObservabilitySnowflakeDestinationConfig;
25
37
  /**
26
38
  * ISO timestamp of when the destination was created.
@@ -22,6 +22,9 @@ export function observabilitySnowflakeDestinationConfigFromJSON(jsonString) {
22
22
  /** @internal */
23
23
  export const ObservabilitySnowflakeDestination$inboundSchema = z.object({
24
24
  api_key_hashes: z.nullable(z.array(z.string())),
25
+ broadcast_generation_cost: z.boolean(),
26
+ broadcast_generation_identity: z.boolean(),
27
+ broadcast_generation_request_context: z.boolean(),
25
28
  config: z.lazy(() => ObservabilitySnowflakeDestinationConfig$inboundSchema),
26
29
  created_at: z.string(),
27
30
  enabled: z.boolean(),
@@ -36,6 +39,9 @@ export const ObservabilitySnowflakeDestination$inboundSchema = z.object({
36
39
  }).transform((v) => {
37
40
  return remap$(v, {
38
41
  "api_key_hashes": "apiKeyHashes",
42
+ "broadcast_generation_cost": "broadcastGenerationCost",
43
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
44
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
39
45
  "created_at": "createdAt",
40
46
  "filter_rules": "filterRules",
41
47
  "privacy_mode": "privacyMode",
@@ -19,6 +19,18 @@ export type ObservabilityWeaveDestination = {
19
19
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
20
20
  */
21
21
  apiKeyHashes: Array<string> | null;
22
+ /**
23
+ * When true, include cost and billing generation metadata.
24
+ */
25
+ broadcastGenerationCost: boolean;
26
+ /**
27
+ * When true, include identity generation metadata.
28
+ */
29
+ broadcastGenerationIdentity: boolean;
30
+ /**
31
+ * When true, include request-context generation metadata.
32
+ */
33
+ broadcastGenerationRequestContext: boolean;
22
34
  config: ObservabilityWeaveDestinationConfig;
23
35
  /**
24
36
  * ISO timestamp of when the destination was created.
@@ -20,6 +20,9 @@ export function observabilityWeaveDestinationConfigFromJSON(jsonString) {
20
20
  /** @internal */
21
21
  export const ObservabilityWeaveDestination$inboundSchema = z.object({
22
22
  api_key_hashes: z.nullable(z.array(z.string())),
23
+ broadcast_generation_cost: z.boolean(),
24
+ broadcast_generation_identity: z.boolean(),
25
+ broadcast_generation_request_context: z.boolean(),
23
26
  config: z.lazy(() => ObservabilityWeaveDestinationConfig$inboundSchema),
24
27
  created_at: z.string(),
25
28
  enabled: z.boolean(),
@@ -34,6 +37,9 @@ export const ObservabilityWeaveDestination$inboundSchema = z.object({
34
37
  }).transform((v) => {
35
38
  return remap$(v, {
36
39
  "api_key_hashes": "apiKeyHashes",
40
+ "broadcast_generation_cost": "broadcastGenerationCost",
41
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
42
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
37
43
  "created_at": "createdAt",
38
44
  "filter_rules": "filterRules",
39
45
  "privacy_mode": "privacyMode",
@@ -20,6 +20,18 @@ export type ObservabilityWebhookDestination = {
20
20
  * Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys.
21
21
  */
22
22
  apiKeyHashes: Array<string> | null;
23
+ /**
24
+ * When true, include cost and billing generation metadata.
25
+ */
26
+ broadcastGenerationCost: boolean;
27
+ /**
28
+ * When true, include identity generation metadata.
29
+ */
30
+ broadcastGenerationIdentity: boolean;
31
+ /**
32
+ * When true, include request-context generation metadata.
33
+ */
34
+ broadcastGenerationRequestContext: boolean;
23
35
  config: ObservabilityWebhookDestinationConfig;
24
36
  /**
25
37
  * ISO timestamp of when the destination was created.
@@ -26,6 +26,9 @@ export function observabilityWebhookDestinationConfigFromJSON(jsonString) {
26
26
  /** @internal */
27
27
  export const ObservabilityWebhookDestination$inboundSchema = z.object({
28
28
  api_key_hashes: z.nullable(z.array(z.string())),
29
+ broadcast_generation_cost: z.boolean(),
30
+ broadcast_generation_identity: z.boolean(),
31
+ broadcast_generation_request_context: z.boolean(),
29
32
  config: z.lazy(() => ObservabilityWebhookDestinationConfig$inboundSchema),
30
33
  created_at: z.string(),
31
34
  enabled: z.boolean(),
@@ -40,6 +43,9 @@ export const ObservabilityWebhookDestination$inboundSchema = z.object({
40
43
  }).transform((v) => {
41
44
  return remap$(v, {
42
45
  "api_key_hashes": "apiKeyHashes",
46
+ "broadcast_generation_cost": "broadcastGenerationCost",
47
+ "broadcast_generation_identity": "broadcastGenerationIdentity",
48
+ "broadcast_generation_request_context": "broadcastGenerationRequestContext",
43
49
  "created_at": "createdAt",
44
50
  "filter_rules": "filterRules",
45
51
  "privacy_mode": "privacyMode",
@@ -162,7 +162,7 @@ export type ListBYOKKeysRequest = {
162
162
  */
163
163
  limit?: number | undefined;
164
164
  /**
165
- * Optional workspace ID to filter by. Defaults to the authenticated entity's default workspace.
165
+ * Optional workspace ID to filter by. When omitted, resolves to the account’s default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly.
166
166
  */
167
167
  workspaceId?: string | undefined;
168
168
  /**
@@ -5,6 +5,18 @@ export type UpdateObservabilityDestinationRequest = {
5
5
  * Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided.
6
6
  */
7
7
  apiKeyHashes?: Array<string> | null | undefined;
8
+ /**
9
+ * Whether to include cost and billing generation metadata.
10
+ */
11
+ broadcastGenerationCost?: boolean | undefined;
12
+ /**
13
+ * Whether to include identity generation metadata.
14
+ */
15
+ broadcastGenerationIdentity?: boolean | undefined;
16
+ /**
17
+ * Whether to include request-context generation metadata.
18
+ */
19
+ broadcastGenerationRequestContext?: boolean | undefined;
8
20
  /**
9
21
  * Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value.
10
22
  */
@@ -32,6 +44,9 @@ export type UpdateObservabilityDestinationRequest = {
32
44
  /** @internal */
33
45
  export type UpdateObservabilityDestinationRequest$Outbound = {
34
46
  api_key_hashes?: Array<string> | null | undefined;
47
+ broadcast_generation_cost?: boolean | undefined;
48
+ broadcast_generation_identity?: boolean | undefined;
49
+ broadcast_generation_request_context?: boolean | undefined;
35
50
  config?: {
36
51
  [k: string]: any;
37
52
  } | undefined;
@@ -8,6 +8,9 @@ import { ObservabilityFilterRulesConfigNullable$outboundSchema, } from "./observ
8
8
  /** @internal */
9
9
  export const UpdateObservabilityDestinationRequest$outboundSchema = z.object({
10
10
  apiKeyHashes: z.nullable(z.array(z.string())).optional(),
11
+ broadcastGenerationCost: z.boolean().optional(),
12
+ broadcastGenerationIdentity: z.boolean().optional(),
13
+ broadcastGenerationRequestContext: z.boolean().optional(),
11
14
  config: z.record(z.string(), z.any()).optional(),
12
15
  enabled: z.boolean().optional(),
13
16
  filterRules: z.nullable(ObservabilityFilterRulesConfigNullable$outboundSchema)
@@ -18,6 +21,9 @@ export const UpdateObservabilityDestinationRequest$outboundSchema = z.object({
18
21
  }).transform((v) => {
19
22
  return remap$(v, {
20
23
  apiKeyHashes: "api_key_hashes",
24
+ broadcastGenerationCost: "broadcast_generation_cost",
25
+ broadcastGenerationIdentity: "broadcast_generation_identity",
26
+ broadcastGenerationRequestContext: "broadcast_generation_request_context",
21
27
  filterRules: "filter_rules",
22
28
  privacyMode: "privacy_mode",
23
29
  samplingRate: "sampling_rate",
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. Treat the raw key as write-only; it is never returned after creation. [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. When `workspace_id` is omitted, the credential is created in the default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly. 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. Treat the raw key as write-only; it is never returned after creation. [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. When `workspace_id` is omitted, the credential is created in the default workspace; if that default has been deleted, the request returns a 400 and you must pass `workspace_id` explicitly. 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));
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@openrouter/sdk",
5
- "version": "1.2.11",
5
+ "version": "1.2.12",
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": "1.2.11",
3
+ "version": "1.2.12",
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
- "test:watch": "vitest --watch --project unit",
77
- "prepare": "npm run build",
78
- "test:e2e": "vitest --run --project e2e",
79
- "typecheck": "tsc --noEmit",
80
76
  "typecheck:transit": "exit 0",
81
77
  "compile": "tsc",
82
78
  "postinstall": "node scripts/check-types.js || true",
79
+ "prepare": "npm run build",
80
+ "test:e2e": "vitest --run --project e2e",
81
+ "test:transit": "exit 0",
82
+ "typecheck": "tsc --noEmit",
83
83
  "test": "vitest --run --project unit",
84
- "test:transit": "exit 0"
84
+ "test:watch": "vitest --watch --project unit"
85
85
  },
86
86
  "peerDependencies": {},
87
87
  "devDependencies": {