@openmeter/client 1.0.0-beta-19b4fd5a13eb → 1.0.0-beta-e0f66967ddb0

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.
@@ -9,6 +9,11 @@ export const currencyCode = z
9
9
  .max(3)
10
10
  .regex(new RegExp('^[A-Z]{3}$'))
11
11
  .describe('Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.');
12
+ export const currencyCodeCustom = z
13
+ .string()
14
+ .min(4)
15
+ .max(24)
16
+ .describe('Custom currency code. It should be a unique code but not conflicting with any existing fiat currency codes.');
12
17
  export const numeric = z
13
18
  .string()
14
19
  .regex(new RegExp('^\\-?[0-9]+(\\.[0-9]+)?$'))
@@ -689,11 +694,6 @@ export const currencyType = z
689
694
  export const currencyExpand = z
690
695
  .enum(['cost_basis'])
691
696
  .describe("Expands for currencies. Values: - `cost_basis`: The currency's currently-active cost basis.");
692
- export const currencyCodeCustom = z
693
- .string()
694
- .min(4)
695
- .max(24)
696
- .describe('Custom currency code. It should be a unique code but not conflicting with any existing fiat currency codes.');
697
697
  export const featureLlmTokenType = z
698
698
  .enum([
699
699
  'input',
@@ -1021,12 +1021,6 @@ export const appCustomerDataExternalInvoicing = z
1021
1021
  labels: labels.optional(),
1022
1022
  })
1023
1023
  .describe('External invoicing customer data.');
1024
- export const billingCurrencyCode = z
1025
- .union([currencyCode])
1026
- .describe('Fiat or custom currency code.');
1027
- export const createCurrencyCode = z
1028
- .union([currencyCode])
1029
- .describe('Fiat or custom currency code.');
1030
1024
  export const currencyFiat = z
1031
1025
  .object({
1032
1026
  type: z.literal('fiat').describe('The type of the currency.'),
@@ -1064,6 +1058,43 @@ export const listCostBasesParamsFilter = z
1064
1058
  fiatCode: currencyCode.optional(),
1065
1059
  })
1066
1060
  .describe('Filter options for listing cost bases.');
1061
+ export const billingCurrencyCode = z
1062
+ .union([currencyCode, currencyCodeCustom])
1063
+ .describe('Fiat or custom currency code.');
1064
+ export const createCurrencyCode = z
1065
+ .union([currencyCode, currencyCodeCustom])
1066
+ .describe('Fiat or custom currency code.');
1067
+ export const createCurrencyCustomRequest = z
1068
+ .object({
1069
+ name: z
1070
+ .string()
1071
+ .min(1)
1072
+ .max(256)
1073
+ .describe('The name of the currency. It should be a human-readable string that represents the name of the currency, such as "US Dollar" or "Euro".'),
1074
+ symbol: z
1075
+ .string()
1076
+ .min(1)
1077
+ .optional()
1078
+ .describe('The symbol of the currency. It should be a string that represents the symbol of the currency, such as "$" for US Dollar or "€" for Euro.'),
1079
+ precision: z
1080
+ .number()
1081
+ .int()
1082
+ .nonnegative()
1083
+ .lte(4294967295)
1084
+ .describe('The precision of the currency. It should be a number that represents the number of decimal places used for the currency, such as 2 for US Dollar or Euro.'),
1085
+ decimalMark: z
1086
+ .string()
1087
+ .min(1)
1088
+ .max(1)
1089
+ .describe('The decimal mark for the currency. It should be a string that represents the decimal mark of the currency, such as "." for US Dollar or "," for Euro.'),
1090
+ thousandSeparator: z
1091
+ .string()
1092
+ .min(1)
1093
+ .max(1)
1094
+ .describe('The thousand separator for the currency. It should be a string that represents the thousand separator of the currency, such as "," for US Dollar or "." for Euro.'),
1095
+ code: currencyCodeCustom,
1096
+ })
1097
+ .describe('CurrencyCustom create request.');
1067
1098
  export const currencyAmount = z
1068
1099
  .object({
1069
1100
  amount: numeric,
@@ -2254,37 +2285,6 @@ export const listCurrenciesParamsFilter = z
2254
2285
  code: stringFieldFilter.optional(),
2255
2286
  })
2256
2287
  .describe('Filter options for listing currencies.');
2257
- export const createCurrencyCustomRequest = z
2258
- .object({
2259
- name: z
2260
- .string()
2261
- .min(1)
2262
- .max(256)
2263
- .describe('The name of the currency. It should be a human-readable string that represents the name of the currency, such as "US Dollar" or "Euro".'),
2264
- symbol: z
2265
- .string()
2266
- .min(1)
2267
- .optional()
2268
- .describe('The symbol of the currency. It should be a string that represents the symbol of the currency, such as "$" for US Dollar or "€" for Euro.'),
2269
- precision: z
2270
- .number()
2271
- .int()
2272
- .nonnegative()
2273
- .lte(4294967295)
2274
- .describe('The precision of the currency. It should be a number that represents the number of decimal places used for the currency, such as 2 for US Dollar or Euro.'),
2275
- decimalMark: z
2276
- .string()
2277
- .min(1)
2278
- .max(1)
2279
- .describe('The decimal mark for the currency. It should be a string that represents the decimal mark of the currency, such as "." for US Dollar or "," for Euro.'),
2280
- thousandSeparator: z
2281
- .string()
2282
- .min(1)
2283
- .max(1)
2284
- .describe('The thousand separator for the currency. It should be a string that represents the thousand separator of the currency, such as "," for US Dollar or "." for Euro.'),
2285
- code: currencyCodeCustom,
2286
- })
2287
- .describe('CurrencyCustom create request.');
2288
2288
  export const governanceQueryRequest = z
2289
2289
  .object({
2290
2290
  includeCredits: z
@@ -3846,6 +3846,7 @@ export const rateCard = z
3846
3846
  labels: labels.optional(),
3847
3847
  key: resourceKey,
3848
3848
  feature: featureReference.optional(),
3849
+ currency: billingCurrencyCode.optional(),
3849
3850
  billingCadence: iso8601Duration.optional(),
3850
3851
  price: price,
3851
3852
  unitConfig: unitConfig.optional(),
@@ -4230,7 +4231,7 @@ export const plan = z
4230
4231
  .gte(1)
4231
4232
  .default(1)
4232
4233
  .describe('Plans are versioned to allow you to make changes without affecting running subscriptions.'),
4233
- currency: currencyCode,
4234
+ currency: billingCurrencyCode,
4234
4235
  billingCadence: iso8601Duration,
4235
4236
  proRatingEnabled: z
4236
4237
  .boolean()
@@ -4265,7 +4266,7 @@ export const createPlanRequest = z
4265
4266
  .describe('Optional description of the resource. Maximum 1024 characters.'),
4266
4267
  labels: labels.optional(),
4267
4268
  key: resourceKey,
4268
- currency: currencyCode,
4269
+ currency: billingCurrencyCode,
4269
4270
  billingCadence: iso8601Duration,
4270
4271
  proRatingEnabled: z
4271
4272
  .boolean()
@@ -5136,6 +5137,11 @@ export const currencyCodeWire = z
5136
5137
  .max(3)
5137
5138
  .regex(new RegExp('^[A-Z]{3}$'))
5138
5139
  .describe('Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.');
5140
+ export const currencyCodeCustomWire = z
5141
+ .string()
5142
+ .min(4)
5143
+ .max(24)
5144
+ .describe('Custom currency code. It should be a unique code but not conflicting with any existing fiat currency codes.');
5139
5145
  export const numericWire = z
5140
5146
  .string()
5141
5147
  .regex(new RegExp('^\\-?[0-9]+(\\.[0-9]+)?$'))
@@ -5809,11 +5815,6 @@ export const currencyTypeWire = z
5809
5815
  export const currencyExpandWire = z
5810
5816
  .enum(['cost_basis'])
5811
5817
  .describe("Expands for currencies. Values: - `cost_basis`: The currency's currently-active cost basis.");
5812
- export const currencyCodeCustomWire = z
5813
- .string()
5814
- .min(4)
5815
- .max(24)
5816
- .describe('Custom currency code. It should be a unique code but not conflicting with any existing fiat currency codes.');
5817
5818
  export const featureLlmTokenTypeWire = z
5818
5819
  .enum([
5819
5820
  'input',
@@ -6141,12 +6142,6 @@ export const appCustomerDataExternalInvoicingWire = z
6141
6142
  labels: labelsWire.optional(),
6142
6143
  })
6143
6144
  .describe('External invoicing customer data.');
6144
- export const billingCurrencyCodeWire = z
6145
- .union([currencyCodeWire])
6146
- .describe('Fiat or custom currency code.');
6147
- export const createCurrencyCodeWire = z
6148
- .union([currencyCodeWire])
6149
- .describe('Fiat or custom currency code.');
6150
6145
  export const currencyFiatWire = z
6151
6146
  .strictObject({
6152
6147
  type: z.literal('fiat').describe('The type of the currency.'),
@@ -6184,6 +6179,43 @@ export const listCostBasesParamsFilterWire = z
6184
6179
  fiat_code: currencyCodeWire.optional(),
6185
6180
  })
6186
6181
  .describe('Filter options for listing cost bases.');
6182
+ export const billingCurrencyCodeWire = z
6183
+ .union([currencyCodeWire, currencyCodeCustomWire])
6184
+ .describe('Fiat or custom currency code.');
6185
+ export const createCurrencyCodeWire = z
6186
+ .union([currencyCodeWire, currencyCodeCustomWire])
6187
+ .describe('Fiat or custom currency code.');
6188
+ export const createCurrencyCustomRequestWire = z
6189
+ .strictObject({
6190
+ name: z
6191
+ .string()
6192
+ .min(1)
6193
+ .max(256)
6194
+ .describe('The name of the currency. It should be a human-readable string that represents the name of the currency, such as "US Dollar" or "Euro".'),
6195
+ symbol: z
6196
+ .string()
6197
+ .min(1)
6198
+ .optional()
6199
+ .describe('The symbol of the currency. It should be a string that represents the symbol of the currency, such as "$" for US Dollar or "€" for Euro.'),
6200
+ precision: z
6201
+ .number()
6202
+ .int()
6203
+ .nonnegative()
6204
+ .lte(4294967295)
6205
+ .describe('The precision of the currency. It should be a number that represents the number of decimal places used for the currency, such as 2 for US Dollar or Euro.'),
6206
+ decimal_mark: z
6207
+ .string()
6208
+ .min(1)
6209
+ .max(1)
6210
+ .describe('The decimal mark for the currency. It should be a string that represents the decimal mark of the currency, such as "." for US Dollar or "," for Euro.'),
6211
+ thousand_separator: z
6212
+ .string()
6213
+ .min(1)
6214
+ .max(1)
6215
+ .describe('The thousand separator for the currency. It should be a string that represents the thousand separator of the currency, such as "," for US Dollar or "." for Euro.'),
6216
+ code: currencyCodeCustomWire,
6217
+ })
6218
+ .describe('CurrencyCustom create request.');
6187
6219
  export const currencyAmountWire = z
6188
6220
  .strictObject({
6189
6221
  amount: numericWire,
@@ -7351,37 +7383,6 @@ export const listCurrenciesParamsFilterWire = z
7351
7383
  code: stringFieldFilterWire.optional(),
7352
7384
  })
7353
7385
  .describe('Filter options for listing currencies.');
7354
- export const createCurrencyCustomRequestWire = z
7355
- .strictObject({
7356
- name: z
7357
- .string()
7358
- .min(1)
7359
- .max(256)
7360
- .describe('The name of the currency. It should be a human-readable string that represents the name of the currency, such as "US Dollar" or "Euro".'),
7361
- symbol: z
7362
- .string()
7363
- .min(1)
7364
- .optional()
7365
- .describe('The symbol of the currency. It should be a string that represents the symbol of the currency, such as "$" for US Dollar or "€" for Euro.'),
7366
- precision: z
7367
- .number()
7368
- .int()
7369
- .nonnegative()
7370
- .lte(4294967295)
7371
- .describe('The precision of the currency. It should be a number that represents the number of decimal places used for the currency, such as 2 for US Dollar or Euro.'),
7372
- decimal_mark: z
7373
- .string()
7374
- .min(1)
7375
- .max(1)
7376
- .describe('The decimal mark for the currency. It should be a string that represents the decimal mark of the currency, such as "." for US Dollar or "," for Euro.'),
7377
- thousand_separator: z
7378
- .string()
7379
- .min(1)
7380
- .max(1)
7381
- .describe('The thousand separator for the currency. It should be a string that represents the thousand separator of the currency, such as "," for US Dollar or "." for Euro.'),
7382
- code: currencyCodeCustomWire,
7383
- })
7384
- .describe('CurrencyCustom create request.');
7385
7386
  export const governanceQueryRequestWire = z
7386
7387
  .strictObject({
7387
7388
  include_credits: z
@@ -8947,6 +8948,7 @@ export const rateCardWire = z
8947
8948
  labels: labelsWire.optional(),
8948
8949
  key: resourceKeyWire,
8949
8950
  feature: featureReferenceWire.optional(),
8951
+ currency: billingCurrencyCodeWire.optional(),
8950
8952
  billing_cadence: iso8601DurationWire.optional(),
8951
8953
  price: priceWire,
8952
8954
  unit_config: unitConfigWire.optional(),
@@ -9329,7 +9331,7 @@ export const planWire = z
9329
9331
  .int()
9330
9332
  .gte(1)
9331
9333
  .describe('Plans are versioned to allow you to make changes without affecting running subscriptions.'),
9332
- currency: currencyCodeWire,
9334
+ currency: billingCurrencyCodeWire,
9333
9335
  billing_cadence: iso8601DurationWire,
9334
9336
  pro_rating_enabled: z
9335
9337
  .boolean()
@@ -9363,7 +9365,7 @@ export const createPlanRequestWire = z
9363
9365
  .describe('Optional description of the resource. Maximum 1024 characters.'),
9364
9366
  labels: labelsWire.optional(),
9365
9367
  key: resourceKeyWire,
9366
- currency: currencyCodeWire,
9368
+ currency: billingCurrencyCodeWire,
9367
9369
  billing_cadence: iso8601DurationWire,
9368
9370
  pro_rating_enabled: z
9369
9371
  .boolean()
@@ -545,6 +545,36 @@ export interface ListCostBasesParamsFilter {
545
545
  /** Filter cost bases by fiat currency code. */
546
546
  fiatCode?: string;
547
547
  }
548
+ /** CurrencyCustom create request. */
549
+ export interface CreateCurrencyCustomRequest {
550
+ /**
551
+ * The name of the currency. It should be a human-readable string that represents
552
+ * the name of the currency, such as "US Dollar" or "Euro".
553
+ */
554
+ name: string;
555
+ /**
556
+ * The symbol of the currency. It should be a string that represents the symbol of
557
+ * the currency, such as "$" for US Dollar or "€" for Euro.
558
+ */
559
+ symbol?: string;
560
+ /**
561
+ * The precision of the currency. It should be a number that represents the number
562
+ * of decimal places used for the currency, such as 2 for US Dollar or Euro.
563
+ */
564
+ precision: number;
565
+ /**
566
+ * The decimal mark for the currency. It should be a string that represents the
567
+ * decimal mark of the currency, such as "." for US Dollar or "," for Euro.
568
+ */
569
+ decimalMark: string;
570
+ /**
571
+ * The thousand separator for the currency. It should be a string that represents
572
+ * the thousand separator of the currency, such as "," for US Dollar or "." for
573
+ * Euro.
574
+ */
575
+ thousandSeparator: string;
576
+ code: string;
577
+ }
548
578
  /** Monetary amount in a specific currency. */
549
579
  export interface CurrencyAmount {
550
580
  amount: string;
@@ -2045,36 +2075,6 @@ export interface ListCurrenciesParamsFilter {
2045
2075
  type?: 'fiat' | 'custom';
2046
2076
  code?: StringFieldFilter;
2047
2077
  }
2048
- /** CurrencyCustom create request. */
2049
- export interface CreateCurrencyCustomRequest {
2050
- /**
2051
- * The name of the currency. It should be a human-readable string that represents
2052
- * the name of the currency, such as "US Dollar" or "Euro".
2053
- */
2054
- name: string;
2055
- /**
2056
- * The symbol of the currency. It should be a string that represents the symbol of
2057
- * the currency, such as "$" for US Dollar or "€" for Euro.
2058
- */
2059
- symbol?: string;
2060
- /**
2061
- * The precision of the currency. It should be a number that represents the number
2062
- * of decimal places used for the currency, such as 2 for US Dollar or Euro.
2063
- */
2064
- precision: number;
2065
- /**
2066
- * The decimal mark for the currency. It should be a string that represents the
2067
- * decimal mark of the currency, such as "." for US Dollar or "," for Euro.
2068
- */
2069
- decimalMark: string;
2070
- /**
2071
- * The thousand separator for the currency. It should be a string that represents
2072
- * the thousand separator of the currency, such as "," for US Dollar or "." for
2073
- * Euro.
2074
- */
2075
- thousandSeparator: string;
2076
- code: string;
2077
- }
2078
2078
  /** Query to evaluate feature access for a list of customers. */
2079
2079
  export interface GovernanceQueryRequest {
2080
2080
  /**
@@ -4269,6 +4269,11 @@ export interface RateCard {
4269
4269
  key: string;
4270
4270
  /** The feature associated with the rate card. */
4271
4271
  feature?: FeatureReference;
4272
+ /**
4273
+ * Overrides the containing plan or add-on currency for this rate card. When
4274
+ * omitted, the containing resource currency applies.
4275
+ */
4276
+ currency?: BillingCurrencyCode;
4272
4277
  /**
4273
4278
  * The billing cadence of the rate card. When null, the charge is one-time
4274
4279
  * (non-recurring). Only valid for flat prices.
@@ -4862,7 +4867,7 @@ export interface Plan {
4862
4867
  */
4863
4868
  version: number;
4864
4869
  /** The currency code of the plan. */
4865
- currency: string;
4870
+ currency: BillingCurrencyCode;
4866
4871
  /** The billing cadence for subscriptions using this plan. */
4867
4872
  billingCadence: string;
4868
4873
  /** Whether pro-rating is enabled for this plan. */
@@ -4930,7 +4935,7 @@ export interface CreatePlanRequest {
4930
4935
  */
4931
4936
  key: string;
4932
4937
  /** The currency code of the plan. */
4933
- currency: string;
4938
+ currency: BillingCurrencyCode;
4934
4939
  /** The billing cadence for subscriptions using this plan. */
4935
4940
  billingCadence: string;
4936
4941
  /** Whether pro-rating is enabled for this plan. */
@@ -5141,9 +5146,9 @@ export type StringFieldFilterExact = string | {
5141
5146
  /** The payment term of a flat price. */
5142
5147
  export type PricePaymentTerm = 'in_advance' | 'in_arrears';
5143
5148
  /** Fiat or custom currency code. */
5144
- export type BillingCurrencyCode = string;
5149
+ export type BillingCurrencyCode = string | string;
5145
5150
  /** Fiat or custom currency code. */
5146
- export type CreateCurrencyCode = string;
5151
+ export type CreateCurrencyCode = string | string;
5147
5152
  /**
5148
5153
  * Filters on the given ULID field value by exact match. All properties are
5149
5154
  * optional; provide exactly one to specify the comparison.
@@ -6056,6 +6061,11 @@ export interface RateCardInput {
6056
6061
  key: string;
6057
6062
  /** The feature associated with the rate card. */
6058
6063
  feature?: FeatureReference;
6064
+ /**
6065
+ * Overrides the containing plan or add-on currency for this rate card. When
6066
+ * omitted, the containing resource currency applies.
6067
+ */
6068
+ currency?: BillingCurrencyCode;
6059
6069
  /**
6060
6070
  * The billing cadence of the rate card. When null, the charge is one-time
6061
6071
  * (non-recurring). Only valid for flat prices.
@@ -6498,7 +6508,7 @@ export interface PlanInput {
6498
6508
  */
6499
6509
  version?: number;
6500
6510
  /** The currency code of the plan. */
6501
- currency: string;
6511
+ currency: BillingCurrencyCode;
6502
6512
  /** The billing cadence for subscriptions using this plan. */
6503
6513
  billingCadence: string;
6504
6514
  /** Whether pro-rating is enabled for this plan. */
@@ -6566,7 +6576,7 @@ export interface CreatePlanRequestInput {
6566
6576
  */
6567
6577
  key: string;
6568
6578
  /** The currency code of the plan. */
6569
- currency: string;
6579
+ currency: BillingCurrencyCode;
6570
6580
  /** The billing cadence for subscriptions using this plan. */
6571
6581
  billingCadence: string;
6572
6582
  /** Whether pro-rating is enabled for this plan. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmeter/client",
3
- "version": "1.0.0-beta-19b4fd5a13eb",
3
+ "version": "1.0.0-beta-e0f66967ddb0",
4
4
  "description": "Official TypeScript SDK for the OpenMeter API — usage metering and billing",
5
5
  "keywords": [
6
6
  "openmeter",