@flexprice/sdk 2.1.9 → 2.1.11

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 (154) hide show
  1. package/docs/sdk/models/create-invoice-request.md +1 -0
  2. package/docs/sdk/models/create-subscription-request.md +38 -37
  3. package/docs/sdk/models/error-code.md +17 -0
  4. package/docs/sdk/models/error-response.md +5 -6
  5. package/docs/sdk/models/errors-error-response.md +5 -6
  6. package/docs/sdk/models/invoice-billing-reason.md +2 -2
  7. package/docs/sdk/models/invoice-response.md +1 -0
  8. package/docs/sdk/models/subscription-response-v2.md +1 -0
  9. package/docs/sdk/models/subscription-response.md +1 -0
  10. package/docs/sdks/invoices/README.md +0 -76
  11. package/esm/lib/config.d.ts +3 -3
  12. package/esm/lib/config.js +3 -3
  13. package/esm/lib/config.js.map +1 -1
  14. package/esm/sdk/invoices.d.ts +0 -7
  15. package/esm/sdk/invoices.d.ts.map +1 -1
  16. package/esm/sdk/invoices.js +0 -10
  17. package/esm/sdk/invoices.js.map +1 -1
  18. package/esm/sdk/models/create-invoice-request.d.ts +8 -0
  19. package/esm/sdk/models/create-invoice-request.d.ts.map +1 -1
  20. package/esm/sdk/models/create-invoice-request.js +2 -0
  21. package/esm/sdk/models/create-invoice-request.js.map +1 -1
  22. package/esm/sdk/models/create-subscription-request.d.ts +11 -0
  23. package/esm/sdk/models/create-subscription-request.d.ts.map +1 -1
  24. package/esm/sdk/models/create-subscription-request.js +2 -0
  25. package/esm/sdk/models/create-subscription-request.js.map +1 -1
  26. package/esm/sdk/models/customer-lookup-result.d.ts +1 -1
  27. package/esm/sdk/models/customer-lookup-result.d.ts.map +1 -1
  28. package/esm/sdk/models/customer-lookup-result.js +1 -1
  29. package/esm/sdk/models/customer-lookup-result.js.map +1 -1
  30. package/esm/sdk/models/error-code.d.ts +20 -0
  31. package/esm/sdk/models/error-code.d.ts.map +1 -0
  32. package/esm/sdk/models/error-code.js +21 -0
  33. package/esm/sdk/models/error-code.js.map +1 -0
  34. package/esm/sdk/models/error-response.d.ts +13 -0
  35. package/esm/sdk/models/error-response.d.ts.map +1 -0
  36. package/esm/sdk/models/error-response.js +22 -0
  37. package/esm/sdk/models/error-response.js.map +1 -0
  38. package/esm/sdk/models/errors-error-response.d.ts +3 -42
  39. package/esm/sdk/models/errors-error-response.d.ts.map +1 -1
  40. package/esm/sdk/models/errors-error-response.js +2 -42
  41. package/esm/sdk/models/errors-error-response.js.map +1 -1
  42. package/esm/sdk/models/failure-point.d.ts +1 -1
  43. package/esm/sdk/models/failure-point.d.ts.map +1 -1
  44. package/esm/sdk/models/failure-point.js +1 -1
  45. package/esm/sdk/models/failure-point.js.map +1 -1
  46. package/esm/sdk/models/index.d.ts +2 -5
  47. package/esm/sdk/models/index.d.ts.map +1 -1
  48. package/esm/sdk/models/index.js +2 -5
  49. package/esm/sdk/models/index.js.map +1 -1
  50. package/esm/sdk/models/invoice-billing-reason.d.ts +1 -0
  51. package/esm/sdk/models/invoice-billing-reason.d.ts.map +1 -1
  52. package/esm/sdk/models/invoice-billing-reason.js +1 -0
  53. package/esm/sdk/models/invoice-billing-reason.js.map +1 -1
  54. package/esm/sdk/models/invoice-response.d.ts +4 -0
  55. package/esm/sdk/models/invoice-response.d.ts.map +1 -1
  56. package/esm/sdk/models/invoice-response.js +2 -0
  57. package/esm/sdk/models/invoice-response.js.map +1 -1
  58. package/esm/sdk/models/meter-matching-result.d.ts +1 -1
  59. package/esm/sdk/models/meter-matching-result.d.ts.map +1 -1
  60. package/esm/sdk/models/meter-matching-result.js +1 -1
  61. package/esm/sdk/models/meter-matching-result.js.map +1 -1
  62. package/esm/sdk/models/price-lookup-result.d.ts +1 -1
  63. package/esm/sdk/models/price-lookup-result.d.ts.map +1 -1
  64. package/esm/sdk/models/price-lookup-result.js +1 -1
  65. package/esm/sdk/models/price-lookup-result.js.map +1 -1
  66. package/esm/sdk/models/subscription-line-item-lookup-result.d.ts +1 -1
  67. package/esm/sdk/models/subscription-line-item-lookup-result.d.ts.map +1 -1
  68. package/esm/sdk/models/subscription-line-item-lookup-result.js +1 -1
  69. package/esm/sdk/models/subscription-line-item-lookup-result.js.map +1 -1
  70. package/esm/sdk/models/subscription-response-v2.d.ts +8 -0
  71. package/esm/sdk/models/subscription-response-v2.d.ts.map +1 -1
  72. package/esm/sdk/models/subscription-response-v2.js +2 -0
  73. package/esm/sdk/models/subscription-response-v2.js.map +1 -1
  74. package/esm/sdk/models/subscription-response.d.ts +8 -0
  75. package/esm/sdk/models/subscription-response.d.ts.map +1 -1
  76. package/esm/sdk/models/subscription-response.js +2 -0
  77. package/esm/sdk/models/subscription-response.js.map +1 -1
  78. package/esm/sdk/sdk.d.ts +0 -3
  79. package/esm/sdk/sdk.d.ts.map +1 -1
  80. package/esm/sdk/sdk.js +0 -5
  81. package/esm/sdk/sdk.js.map +1 -1
  82. package/jsr.json +1 -1
  83. package/package.json +1 -1
  84. package/src/lib/config.ts +3 -3
  85. package/src/sdk/invoices.ts +0 -18
  86. package/src/sdk/models/create-invoice-request.ts +10 -0
  87. package/src/sdk/models/create-subscription-request.ts +13 -0
  88. package/src/sdk/models/customer-lookup-result.ts +1 -1
  89. package/src/sdk/models/error-code.ts +27 -0
  90. package/src/sdk/models/error-response.ts +44 -0
  91. package/src/sdk/models/errors-error-response.ts +4 -87
  92. package/src/sdk/models/failure-point.ts +1 -1
  93. package/src/sdk/models/index.ts +2 -5
  94. package/src/sdk/models/invoice-billing-reason.ts +1 -0
  95. package/src/sdk/models/invoice-response.ts +6 -0
  96. package/src/sdk/models/meter-matching-result.ts +1 -1
  97. package/src/sdk/models/price-lookup-result.ts +1 -1
  98. package/src/sdk/models/subscription-line-item-lookup-result.ts +1 -1
  99. package/src/sdk/models/subscription-response-v2.ts +10 -0
  100. package/src/sdk/models/subscription-response.ts +10 -0
  101. package/src/sdk/sdk.ts +0 -6
  102. package/docs/sdk/models/code.md +0 -17
  103. package/docs/sdk/models/details.md +0 -14
  104. package/docs/sdk/models/meter-usage-analytics-request.md +0 -30
  105. package/docs/sdk/models/meter-usage-analytics-response.md +0 -30
  106. package/docs/sdk/models/meter-usage-point.md +0 -21
  107. package/docs/sdk/models/meter-usage-query-request.md +0 -28
  108. package/docs/sdk/models/meter-usage-query-response.md +0 -30
  109. package/docs/sdks/meterusage/README.md +0 -182
  110. package/esm/funcs/invoices-get-meter-usage-preview-invoice.d.ts +0 -17
  111. package/esm/funcs/invoices-get-meter-usage-preview-invoice.d.ts.map +0 -1
  112. package/esm/funcs/invoices-get-meter-usage-preview-invoice.js +0 -83
  113. package/esm/funcs/invoices-get-meter-usage-preview-invoice.js.map +0 -1
  114. package/esm/funcs/meter-usage-get-meter-usage-analytics.d.ts +0 -17
  115. package/esm/funcs/meter-usage-get-meter-usage-analytics.d.ts.map +0 -1
  116. package/esm/funcs/meter-usage-get-meter-usage-analytics.js +0 -83
  117. package/esm/funcs/meter-usage-get-meter-usage-analytics.js.map +0 -1
  118. package/esm/funcs/meter-usage-query-meter-usage.d.ts +0 -17
  119. package/esm/funcs/meter-usage-query-meter-usage.d.ts.map +0 -1
  120. package/esm/funcs/meter-usage-query-meter-usage.js +0 -83
  121. package/esm/funcs/meter-usage-query-meter-usage.js.map +0 -1
  122. package/esm/sdk/meter-usage.d.ts +0 -19
  123. package/esm/sdk/meter-usage.d.ts.map +0 -1
  124. package/esm/sdk/meter-usage.js +0 -28
  125. package/esm/sdk/meter-usage.js.map +0 -1
  126. package/esm/sdk/models/meter-usage-analytics-request.d.ts +0 -26
  127. package/esm/sdk/models/meter-usage-analytics-request.d.ts.map +0 -1
  128. package/esm/sdk/models/meter-usage-analytics-request.js +0 -31
  129. package/esm/sdk/models/meter-usage-analytics-request.js.map +0 -1
  130. package/esm/sdk/models/meter-usage-analytics-response.d.ts +0 -11
  131. package/esm/sdk/models/meter-usage-analytics-response.d.ts.map +0 -1
  132. package/esm/sdk/models/meter-usage-analytics-response.js +0 -15
  133. package/esm/sdk/models/meter-usage-analytics-response.js.map +0 -1
  134. package/esm/sdk/models/meter-usage-point.d.ts +0 -12
  135. package/esm/sdk/models/meter-usage-point.d.ts.map +0 -1
  136. package/esm/sdk/models/meter-usage-point.js +0 -21
  137. package/esm/sdk/models/meter-usage-point.js.map +0 -1
  138. package/esm/sdk/models/meter-usage-query-request.d.ts +0 -26
  139. package/esm/sdk/models/meter-usage-query-request.d.ts.map +0 -1
  140. package/esm/sdk/models/meter-usage-query-request.js +0 -31
  141. package/esm/sdk/models/meter-usage-query-request.js.map +0 -1
  142. package/esm/sdk/models/meter-usage-query-response.d.ts +0 -16
  143. package/esm/sdk/models/meter-usage-query-response.d.ts.map +0 -1
  144. package/esm/sdk/models/meter-usage-query-response.js +0 -28
  145. package/esm/sdk/models/meter-usage-query-response.js.map +0 -1
  146. package/src/funcs/invoices-get-meter-usage-preview-invoice.ts +0 -172
  147. package/src/funcs/meter-usage-get-meter-usage-analytics.ts +0 -172
  148. package/src/funcs/meter-usage-query-meter-usage.ts +0 -172
  149. package/src/sdk/meter-usage.ts +0 -45
  150. package/src/sdk/models/meter-usage-analytics-request.ts +0 -69
  151. package/src/sdk/models/meter-usage-analytics-response.ts +0 -35
  152. package/src/sdk/models/meter-usage-point.ts +0 -43
  153. package/src/sdk/models/meter-usage-query-request.ts +0 -69
  154. package/src/sdk/models/meter-usage-query-response.ts +0 -58
@@ -1,172 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import * as z from "zod/v4-mini";
6
- import { FlexpriceCore } from "../core.js";
7
- import { encodeJSON } from "../lib/encodings.js";
8
- import { matchStatusCode } from "../lib/http.js";
9
- import * as M from "../lib/matchers.js";
10
- import { compactMap } from "../lib/primitives.js";
11
- import { safeParse } from "../lib/schemas.js";
12
- import { RequestOptions } from "../lib/sdks.js";
13
- import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
- import { pathToFunc } from "../lib/url.js";
15
- import { FlexPriceError } from "../sdk/models/flex-price-error.js";
16
- import {
17
- ConnectionError,
18
- InvalidRequestError,
19
- RequestAbortedError,
20
- RequestTimeoutError,
21
- UnexpectedClientError,
22
- } from "../sdk/models/http-client-errors.js";
23
- import * as models from "../sdk/models/index.js";
24
- import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
25
- import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
26
- import { APICall, APIPromise } from "../types/async.js";
27
- import { Result } from "../types/fp.js";
28
-
29
- /**
30
- * Get invoice preview using meter_usage data
31
- *
32
- * @remarks
33
- * Preview invoice using the meter_usage table for usage data instead of feature_usage.
34
- */
35
- export function invoicesGetMeterUsagePreviewInvoice(
36
- client: FlexpriceCore,
37
- request: models.GetPreviewInvoiceRequest,
38
- options?: RequestOptions,
39
- ): APIPromise<
40
- Result<
41
- models.InvoiceResponse,
42
- | models.ErrorsErrorResponse
43
- | FlexPriceError
44
- | ResponseValidationError
45
- | ConnectionError
46
- | RequestAbortedError
47
- | RequestTimeoutError
48
- | InvalidRequestError
49
- | UnexpectedClientError
50
- | SDKValidationError
51
- >
52
- > {
53
- return new APIPromise($do(
54
- client,
55
- request,
56
- options,
57
- ));
58
- }
59
-
60
- async function $do(
61
- client: FlexpriceCore,
62
- request: models.GetPreviewInvoiceRequest,
63
- options?: RequestOptions,
64
- ): Promise<
65
- [
66
- Result<
67
- models.InvoiceResponse,
68
- | models.ErrorsErrorResponse
69
- | FlexPriceError
70
- | ResponseValidationError
71
- | ConnectionError
72
- | RequestAbortedError
73
- | RequestTimeoutError
74
- | InvalidRequestError
75
- | UnexpectedClientError
76
- | SDKValidationError
77
- >,
78
- APICall,
79
- ]
80
- > {
81
- const parsed = safeParse(
82
- request,
83
- (value) => z.parse(models.GetPreviewInvoiceRequest$outboundSchema, value),
84
- "Input validation failed",
85
- );
86
- if (!parsed.ok) {
87
- return [parsed, { status: "invalid" }];
88
- }
89
- const payload = parsed.value;
90
- const body = encodeJSON("body", payload, { explode: true });
91
-
92
- const path = pathToFunc("/invoices/meter-usage-preview")();
93
-
94
- const headers = new Headers(compactMap({
95
- "Content-Type": "application/json",
96
- Accept: "application/json",
97
- }));
98
-
99
- const secConfig = await extractSecurity(client._options.apiKeyAuth);
100
- const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
101
- const requestSecurity = resolveGlobalSecurity(securityInput);
102
-
103
- const context = {
104
- options: client._options,
105
- baseURL: options?.serverURL ?? client._baseURL ?? "",
106
- operationID: "getMeterUsagePreviewInvoice",
107
- oAuth2Scopes: null,
108
-
109
- resolvedSecurity: requestSecurity,
110
-
111
- securitySource: client._options.apiKeyAuth,
112
- retryConfig: options?.retries
113
- || client._options.retryConfig
114
- || { strategy: "none" },
115
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
116
- };
117
-
118
- const requestRes = client._createRequest(context, {
119
- security: requestSecurity,
120
- method: "POST",
121
- baseURL: options?.serverURL,
122
- path: path,
123
- headers: headers,
124
- body: body,
125
- userAgent: client._options.userAgent,
126
- timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
127
- }, options);
128
- if (!requestRes.ok) {
129
- return [requestRes, { status: "invalid" }];
130
- }
131
- const req = requestRes.value;
132
-
133
- const doResult = await client._do(req, {
134
- context,
135
- isErrorStatusCode: (statusCode: number) =>
136
- matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
137
- retryConfig: context.retryConfig,
138
- retryCodes: context.retryCodes,
139
- });
140
- if (!doResult.ok) {
141
- return [doResult, { status: "request-error", request: req }];
142
- }
143
- const response = doResult.value;
144
-
145
- const responseFields = {
146
- HttpMeta: { Response: response, Request: req },
147
- };
148
-
149
- const [result] = await M.match<
150
- models.InvoiceResponse,
151
- | models.ErrorsErrorResponse
152
- | FlexPriceError
153
- | ResponseValidationError
154
- | ConnectionError
155
- | RequestAbortedError
156
- | RequestTimeoutError
157
- | InvalidRequestError
158
- | UnexpectedClientError
159
- | SDKValidationError
160
- >(
161
- M.json(200, models.InvoiceResponse$inboundSchema),
162
- M.jsonErr(400, models.ErrorsErrorResponse$inboundSchema),
163
- M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
164
- M.fail("4XX"),
165
- M.fail("5XX"),
166
- )(response, req, { extraFields: responseFields });
167
- if (!result.ok) {
168
- return [result, { status: "complete", request: req, response }];
169
- }
170
-
171
- return [result, { status: "complete", request: req, response }];
172
- }
@@ -1,172 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import * as z from "zod/v4-mini";
6
- import { FlexpriceCore } from "../core.js";
7
- import { encodeJSON } from "../lib/encodings.js";
8
- import { matchStatusCode } from "../lib/http.js";
9
- import * as M from "../lib/matchers.js";
10
- import { compactMap } from "../lib/primitives.js";
11
- import { safeParse } from "../lib/schemas.js";
12
- import { RequestOptions } from "../lib/sdks.js";
13
- import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
- import { pathToFunc } from "../lib/url.js";
15
- import { FlexPriceError } from "../sdk/models/flex-price-error.js";
16
- import {
17
- ConnectionError,
18
- InvalidRequestError,
19
- RequestAbortedError,
20
- RequestTimeoutError,
21
- UnexpectedClientError,
22
- } from "../sdk/models/http-client-errors.js";
23
- import * as models from "../sdk/models/index.js";
24
- import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
25
- import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
26
- import { APICall, APIPromise } from "../types/async.js";
27
- import { Result } from "../types/fp.js";
28
-
29
- /**
30
- * Get meter usage analytics
31
- *
32
- * @remarks
33
- * Query aggregated usage from meter_usage table for multiple meters
34
- */
35
- export function meterUsageGetMeterUsageAnalytics(
36
- client: FlexpriceCore,
37
- request: models.MeterUsageAnalyticsRequest,
38
- options?: RequestOptions,
39
- ): APIPromise<
40
- Result<
41
- models.MeterUsageAnalyticsResponse,
42
- | models.ErrorsErrorResponse
43
- | FlexPriceError
44
- | ResponseValidationError
45
- | ConnectionError
46
- | RequestAbortedError
47
- | RequestTimeoutError
48
- | InvalidRequestError
49
- | UnexpectedClientError
50
- | SDKValidationError
51
- >
52
- > {
53
- return new APIPromise($do(
54
- client,
55
- request,
56
- options,
57
- ));
58
- }
59
-
60
- async function $do(
61
- client: FlexpriceCore,
62
- request: models.MeterUsageAnalyticsRequest,
63
- options?: RequestOptions,
64
- ): Promise<
65
- [
66
- Result<
67
- models.MeterUsageAnalyticsResponse,
68
- | models.ErrorsErrorResponse
69
- | FlexPriceError
70
- | ResponseValidationError
71
- | ConnectionError
72
- | RequestAbortedError
73
- | RequestTimeoutError
74
- | InvalidRequestError
75
- | UnexpectedClientError
76
- | SDKValidationError
77
- >,
78
- APICall,
79
- ]
80
- > {
81
- const parsed = safeParse(
82
- request,
83
- (value) => z.parse(models.MeterUsageAnalyticsRequest$outboundSchema, value),
84
- "Input validation failed",
85
- );
86
- if (!parsed.ok) {
87
- return [parsed, { status: "invalid" }];
88
- }
89
- const payload = parsed.value;
90
- const body = encodeJSON("body", payload, { explode: true });
91
-
92
- const path = pathToFunc("/meter-usage/analytics")();
93
-
94
- const headers = new Headers(compactMap({
95
- "Content-Type": "application/json",
96
- Accept: "application/json",
97
- }));
98
-
99
- const secConfig = await extractSecurity(client._options.apiKeyAuth);
100
- const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
101
- const requestSecurity = resolveGlobalSecurity(securityInput);
102
-
103
- const context = {
104
- options: client._options,
105
- baseURL: options?.serverURL ?? client._baseURL ?? "",
106
- operationID: "getMeterUsageAnalytics",
107
- oAuth2Scopes: null,
108
-
109
- resolvedSecurity: requestSecurity,
110
-
111
- securitySource: client._options.apiKeyAuth,
112
- retryConfig: options?.retries
113
- || client._options.retryConfig
114
- || { strategy: "none" },
115
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
116
- };
117
-
118
- const requestRes = client._createRequest(context, {
119
- security: requestSecurity,
120
- method: "POST",
121
- baseURL: options?.serverURL,
122
- path: path,
123
- headers: headers,
124
- body: body,
125
- userAgent: client._options.userAgent,
126
- timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
127
- }, options);
128
- if (!requestRes.ok) {
129
- return [requestRes, { status: "invalid" }];
130
- }
131
- const req = requestRes.value;
132
-
133
- const doResult = await client._do(req, {
134
- context,
135
- isErrorStatusCode: (statusCode: number) =>
136
- matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
137
- retryConfig: context.retryConfig,
138
- retryCodes: context.retryCodes,
139
- });
140
- if (!doResult.ok) {
141
- return [doResult, { status: "request-error", request: req }];
142
- }
143
- const response = doResult.value;
144
-
145
- const responseFields = {
146
- HttpMeta: { Response: response, Request: req },
147
- };
148
-
149
- const [result] = await M.match<
150
- models.MeterUsageAnalyticsResponse,
151
- | models.ErrorsErrorResponse
152
- | FlexPriceError
153
- | ResponseValidationError
154
- | ConnectionError
155
- | RequestAbortedError
156
- | RequestTimeoutError
157
- | InvalidRequestError
158
- | UnexpectedClientError
159
- | SDKValidationError
160
- >(
161
- M.json(200, models.MeterUsageAnalyticsResponse$inboundSchema),
162
- M.jsonErr(400, models.ErrorsErrorResponse$inboundSchema),
163
- M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
164
- M.fail("4XX"),
165
- M.fail("5XX"),
166
- )(response, req, { extraFields: responseFields });
167
- if (!result.ok) {
168
- return [result, { status: "complete", request: req, response }];
169
- }
170
-
171
- return [result, { status: "complete", request: req, response }];
172
- }
@@ -1,172 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import * as z from "zod/v4-mini";
6
- import { FlexpriceCore } from "../core.js";
7
- import { encodeJSON } from "../lib/encodings.js";
8
- import { matchStatusCode } from "../lib/http.js";
9
- import * as M from "../lib/matchers.js";
10
- import { compactMap } from "../lib/primitives.js";
11
- import { safeParse } from "../lib/schemas.js";
12
- import { RequestOptions } from "../lib/sdks.js";
13
- import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
- import { pathToFunc } from "../lib/url.js";
15
- import { FlexPriceError } from "../sdk/models/flex-price-error.js";
16
- import {
17
- ConnectionError,
18
- InvalidRequestError,
19
- RequestAbortedError,
20
- RequestTimeoutError,
21
- UnexpectedClientError,
22
- } from "../sdk/models/http-client-errors.js";
23
- import * as models from "../sdk/models/index.js";
24
- import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
25
- import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
26
- import { APICall, APIPromise } from "../types/async.js";
27
- import { Result } from "../types/fp.js";
28
-
29
- /**
30
- * Query meter usage
31
- *
32
- * @remarks
33
- * Query aggregated usage from meter_usage table for a single meter with optional time-window bucketing
34
- */
35
- export function meterUsageQueryMeterUsage(
36
- client: FlexpriceCore,
37
- request: models.MeterUsageQueryRequest,
38
- options?: RequestOptions,
39
- ): APIPromise<
40
- Result<
41
- models.MeterUsageQueryResponse,
42
- | models.ErrorsErrorResponse
43
- | FlexPriceError
44
- | ResponseValidationError
45
- | ConnectionError
46
- | RequestAbortedError
47
- | RequestTimeoutError
48
- | InvalidRequestError
49
- | UnexpectedClientError
50
- | SDKValidationError
51
- >
52
- > {
53
- return new APIPromise($do(
54
- client,
55
- request,
56
- options,
57
- ));
58
- }
59
-
60
- async function $do(
61
- client: FlexpriceCore,
62
- request: models.MeterUsageQueryRequest,
63
- options?: RequestOptions,
64
- ): Promise<
65
- [
66
- Result<
67
- models.MeterUsageQueryResponse,
68
- | models.ErrorsErrorResponse
69
- | FlexPriceError
70
- | ResponseValidationError
71
- | ConnectionError
72
- | RequestAbortedError
73
- | RequestTimeoutError
74
- | InvalidRequestError
75
- | UnexpectedClientError
76
- | SDKValidationError
77
- >,
78
- APICall,
79
- ]
80
- > {
81
- const parsed = safeParse(
82
- request,
83
- (value) => z.parse(models.MeterUsageQueryRequest$outboundSchema, value),
84
- "Input validation failed",
85
- );
86
- if (!parsed.ok) {
87
- return [parsed, { status: "invalid" }];
88
- }
89
- const payload = parsed.value;
90
- const body = encodeJSON("body", payload, { explode: true });
91
-
92
- const path = pathToFunc("/meter-usage/query")();
93
-
94
- const headers = new Headers(compactMap({
95
- "Content-Type": "application/json",
96
- Accept: "application/json",
97
- }));
98
-
99
- const secConfig = await extractSecurity(client._options.apiKeyAuth);
100
- const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
101
- const requestSecurity = resolveGlobalSecurity(securityInput);
102
-
103
- const context = {
104
- options: client._options,
105
- baseURL: options?.serverURL ?? client._baseURL ?? "",
106
- operationID: "queryMeterUsage",
107
- oAuth2Scopes: null,
108
-
109
- resolvedSecurity: requestSecurity,
110
-
111
- securitySource: client._options.apiKeyAuth,
112
- retryConfig: options?.retries
113
- || client._options.retryConfig
114
- || { strategy: "none" },
115
- retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
116
- };
117
-
118
- const requestRes = client._createRequest(context, {
119
- security: requestSecurity,
120
- method: "POST",
121
- baseURL: options?.serverURL,
122
- path: path,
123
- headers: headers,
124
- body: body,
125
- userAgent: client._options.userAgent,
126
- timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
127
- }, options);
128
- if (!requestRes.ok) {
129
- return [requestRes, { status: "invalid" }];
130
- }
131
- const req = requestRes.value;
132
-
133
- const doResult = await client._do(req, {
134
- context,
135
- isErrorStatusCode: (statusCode: number) =>
136
- matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
137
- retryConfig: context.retryConfig,
138
- retryCodes: context.retryCodes,
139
- });
140
- if (!doResult.ok) {
141
- return [doResult, { status: "request-error", request: req }];
142
- }
143
- const response = doResult.value;
144
-
145
- const responseFields = {
146
- HttpMeta: { Response: response, Request: req },
147
- };
148
-
149
- const [result] = await M.match<
150
- models.MeterUsageQueryResponse,
151
- | models.ErrorsErrorResponse
152
- | FlexPriceError
153
- | ResponseValidationError
154
- | ConnectionError
155
- | RequestAbortedError
156
- | RequestTimeoutError
157
- | InvalidRequestError
158
- | UnexpectedClientError
159
- | SDKValidationError
160
- >(
161
- M.json(200, models.MeterUsageQueryResponse$inboundSchema),
162
- M.jsonErr(400, models.ErrorsErrorResponse$inboundSchema),
163
- M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
164
- M.fail("4XX"),
165
- M.fail("5XX"),
166
- )(response, req, { extraFields: responseFields });
167
- if (!result.ok) {
168
- return [result, { status: "complete", request: req, response }];
169
- }
170
-
171
- return [result, { status: "complete", request: req, response }];
172
- }
@@ -1,45 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { meterUsageGetMeterUsageAnalytics } from "../funcs/meter-usage-get-meter-usage-analytics.js";
6
- import { meterUsageQueryMeterUsage } from "../funcs/meter-usage-query-meter-usage.js";
7
- import { ClientSDK, RequestOptions } from "../lib/sdks.js";
8
- import { unwrapAsync } from "../types/fp.js";
9
- import * as models from "./models/index.js";
10
-
11
- export class MeterUsage extends ClientSDK {
12
- /**
13
- * Get meter usage analytics
14
- *
15
- * @remarks
16
- * Query aggregated usage from meter_usage table for multiple meters
17
- */
18
- async getMeterUsageAnalytics(
19
- request: models.MeterUsageAnalyticsRequest,
20
- options?: RequestOptions,
21
- ): Promise<models.MeterUsageAnalyticsResponse> {
22
- return unwrapAsync(meterUsageGetMeterUsageAnalytics(
23
- this,
24
- request,
25
- options,
26
- ));
27
- }
28
-
29
- /**
30
- * Query meter usage
31
- *
32
- * @remarks
33
- * Query aggregated usage from meter_usage table for a single meter with optional time-window bucketing
34
- */
35
- async queryMeterUsage(
36
- request: models.MeterUsageQueryRequest,
37
- options?: RequestOptions,
38
- ): Promise<models.MeterUsageQueryResponse> {
39
- return unwrapAsync(meterUsageQueryMeterUsage(
40
- this,
41
- request,
42
- options,
43
- ));
44
- }
45
- }
@@ -1,69 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import * as z from "zod/v4-mini";
6
- import { remap as remap$ } from "../../lib/primitives.js";
7
- import {
8
- AggregationType,
9
- AggregationType$outboundSchema,
10
- } from "./aggregation-type.js";
11
- import { WindowSize, WindowSize$outboundSchema } from "./window-size.js";
12
-
13
- export type MeterUsageAnalyticsRequest = {
14
- aggregationType: AggregationType;
15
- billingAnchor?: Date | undefined;
16
- endTime: Date;
17
- externalCustomerId: string;
18
- meterIds: Array<string>;
19
- startTime: Date;
20
- windowSize?: WindowSize | undefined;
21
- };
22
-
23
- /** @internal */
24
- export type MeterUsageAnalyticsRequest$Outbound = {
25
- aggregation_type: string;
26
- billing_anchor?: string | undefined;
27
- end_time: string;
28
- external_customer_id: string;
29
- meter_ids: Array<string>;
30
- start_time: string;
31
- window_size?: string | undefined;
32
- };
33
-
34
- /** @internal */
35
- export const MeterUsageAnalyticsRequest$outboundSchema: z.ZodMiniType<
36
- MeterUsageAnalyticsRequest$Outbound,
37
- MeterUsageAnalyticsRequest
38
- > = z.pipe(
39
- z.object({
40
- aggregationType: AggregationType$outboundSchema,
41
- billingAnchor: z.optional(
42
- z.pipe(z.date(), z.transform(v => v.toISOString())),
43
- ),
44
- endTime: z.pipe(z.date(), z.transform(v => v.toISOString())),
45
- externalCustomerId: z.string(),
46
- meterIds: z.array(z.string()),
47
- startTime: z.pipe(z.date(), z.transform(v => v.toISOString())),
48
- windowSize: z.optional(WindowSize$outboundSchema),
49
- }),
50
- z.transform((v) => {
51
- return remap$(v, {
52
- aggregationType: "aggregation_type",
53
- billingAnchor: "billing_anchor",
54
- endTime: "end_time",
55
- externalCustomerId: "external_customer_id",
56
- meterIds: "meter_ids",
57
- startTime: "start_time",
58
- windowSize: "window_size",
59
- });
60
- }),
61
- );
62
-
63
- export function meterUsageAnalyticsRequestToJSON(
64
- meterUsageAnalyticsRequest: MeterUsageAnalyticsRequest,
65
- ): string {
66
- return JSON.stringify(
67
- MeterUsageAnalyticsRequest$outboundSchema.parse(meterUsageAnalyticsRequest),
68
- );
69
- }
@@ -1,35 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import * as z from "zod/v4-mini";
6
- import { safeParse } from "../../lib/schemas.js";
7
- import { Result as SafeParseResult } from "../../types/fp.js";
8
- import * as types from "../../types/primitives.js";
9
- import {
10
- MeterUsageQueryResponse,
11
- MeterUsageQueryResponse$inboundSchema,
12
- } from "./meter-usage-query-response.js";
13
- import { SDKValidationError } from "./sdk-validation-error.js";
14
-
15
- export type MeterUsageAnalyticsResponse = {
16
- items?: Array<MeterUsageQueryResponse> | undefined;
17
- };
18
-
19
- /** @internal */
20
- export const MeterUsageAnalyticsResponse$inboundSchema: z.ZodMiniType<
21
- MeterUsageAnalyticsResponse,
22
- unknown
23
- > = z.object({
24
- items: types.optional(z.array(MeterUsageQueryResponse$inboundSchema)),
25
- });
26
-
27
- export function meterUsageAnalyticsResponseFromJSON(
28
- jsonString: string,
29
- ): SafeParseResult<MeterUsageAnalyticsResponse, SDKValidationError> {
30
- return safeParse(
31
- jsonString,
32
- (x) => MeterUsageAnalyticsResponse$inboundSchema.parse(JSON.parse(x)),
33
- `Failed to parse 'MeterUsageAnalyticsResponse' from JSON`,
34
- );
35
- }