@usehercules/sdk 1.1.0 → 1.3.0

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 (199) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.md +14 -20
  3. package/client.d.mts +6 -3
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +6 -3
  6. package/client.d.ts.map +1 -1
  7. package/client.js +1 -1
  8. package/client.js.map +1 -1
  9. package/client.mjs +1 -1
  10. package/client.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/resources/beta/beta.d.mts +4 -4
  13. package/resources/beta/beta.d.mts.map +1 -1
  14. package/resources/beta/beta.d.ts +4 -4
  15. package/resources/beta/beta.d.ts.map +1 -1
  16. package/resources/beta/beta.js +4 -4
  17. package/resources/beta/beta.js.map +1 -1
  18. package/resources/beta/beta.mjs +4 -4
  19. package/resources/beta/beta.mjs.map +1 -1
  20. package/resources/beta/index.d.mts +1 -1
  21. package/resources/beta/index.d.mts.map +1 -1
  22. package/resources/beta/index.d.ts +1 -1
  23. package/resources/beta/index.d.ts.map +1 -1
  24. package/resources/beta/index.js +3 -3
  25. package/resources/beta/index.js.map +1 -1
  26. package/resources/beta/index.mjs +1 -1
  27. package/resources/beta/index.mjs.map +1 -1
  28. package/resources/beta/pay/coupons.d.mts +156 -0
  29. package/resources/beta/pay/coupons.d.mts.map +1 -0
  30. package/resources/beta/pay/coupons.d.ts +156 -0
  31. package/resources/beta/pay/coupons.d.ts.map +1 -0
  32. package/resources/beta/pay/coupons.js +51 -0
  33. package/resources/beta/pay/coupons.js.map +1 -0
  34. package/resources/beta/pay/coupons.mjs +47 -0
  35. package/resources/beta/pay/coupons.mjs.map +1 -0
  36. package/resources/beta/pay/customers.d.mts +160 -0
  37. package/resources/beta/pay/customers.d.mts.map +1 -0
  38. package/resources/beta/pay/customers.d.ts +160 -0
  39. package/resources/beta/pay/customers.d.ts.map +1 -0
  40. package/resources/beta/pay/customers.js +60 -0
  41. package/resources/beta/pay/customers.js.map +1 -0
  42. package/resources/beta/pay/customers.mjs +56 -0
  43. package/resources/beta/pay/customers.mjs.map +1 -0
  44. package/resources/beta/pay/entitlements.d.mts +94 -0
  45. package/resources/beta/pay/entitlements.d.mts.map +1 -0
  46. package/resources/beta/pay/entitlements.d.ts +94 -0
  47. package/resources/beta/pay/entitlements.d.ts.map +1 -0
  48. package/resources/beta/pay/entitlements.js +42 -0
  49. package/resources/beta/pay/entitlements.js.map +1 -0
  50. package/resources/beta/pay/entitlements.mjs +38 -0
  51. package/resources/beta/pay/entitlements.mjs.map +1 -0
  52. package/resources/beta/pay/index.d.mts +6 -0
  53. package/resources/beta/pay/index.d.mts.map +1 -0
  54. package/resources/beta/pay/index.d.ts +6 -0
  55. package/resources/beta/pay/index.d.ts.map +1 -0
  56. package/resources/beta/{subscriptions → pay}/index.js +5 -5
  57. package/resources/beta/pay/index.js.map +1 -0
  58. package/resources/beta/{subscriptions → pay}/index.mjs +2 -2
  59. package/resources/beta/pay/index.mjs.map +1 -0
  60. package/resources/beta/{subscriptions/subscriptions.d.mts → pay/pay.d.mts} +48 -32
  61. package/resources/beta/pay/pay.d.mts.map +1 -0
  62. package/resources/beta/{subscriptions/subscriptions.d.ts → pay/pay.d.ts} +48 -32
  63. package/resources/beta/pay/pay.d.ts.map +1 -0
  64. package/resources/beta/pay/pay.js +54 -0
  65. package/resources/beta/pay/pay.js.map +1 -0
  66. package/resources/beta/pay/pay.mjs +49 -0
  67. package/resources/beta/pay/pay.mjs.map +1 -0
  68. package/resources/beta/pay/products/entitlements.d.mts +53 -0
  69. package/resources/beta/pay/products/entitlements.d.mts.map +1 -0
  70. package/resources/beta/pay/products/entitlements.d.ts +53 -0
  71. package/resources/beta/pay/products/entitlements.d.ts.map +1 -0
  72. package/resources/beta/pay/products/entitlements.js +38 -0
  73. package/resources/beta/pay/products/entitlements.js.map +1 -0
  74. package/resources/beta/pay/products/entitlements.mjs +34 -0
  75. package/resources/beta/pay/products/entitlements.mjs.map +1 -0
  76. package/resources/beta/pay/products/index.d.mts +3 -0
  77. package/resources/beta/pay/products/index.d.mts.map +1 -0
  78. package/resources/beta/pay/products/index.d.ts +3 -0
  79. package/resources/beta/pay/products/index.d.ts.map +1 -0
  80. package/resources/beta/{subscriptions/plans → pay/products}/index.js +3 -3
  81. package/resources/beta/pay/products/index.js.map +1 -0
  82. package/resources/beta/{subscriptions/plans → pay/products}/index.mjs +1 -1
  83. package/resources/beta/pay/products/index.mjs.map +1 -0
  84. package/resources/beta/pay/products/products.d.mts +152 -0
  85. package/resources/beta/pay/products/products.d.mts.map +1 -0
  86. package/resources/beta/pay/products/products.d.ts +152 -0
  87. package/resources/beta/pay/products/products.d.ts.map +1 -0
  88. package/resources/beta/pay/products/products.js +57 -0
  89. package/resources/beta/pay/products/products.js.map +1 -0
  90. package/resources/beta/pay/products/products.mjs +52 -0
  91. package/resources/beta/pay/products/products.mjs.map +1 -0
  92. package/resources/beta/pay/products.d.mts +2 -0
  93. package/resources/beta/pay/products.d.mts.map +1 -0
  94. package/resources/beta/pay/products.d.ts +2 -0
  95. package/resources/beta/pay/products.d.ts.map +1 -0
  96. package/resources/beta/{subscriptions/plans.js → pay/products.js} +2 -2
  97. package/resources/beta/pay/products.js.map +1 -0
  98. package/resources/beta/{subscriptions.mjs → pay/products.mjs} +2 -2
  99. package/resources/beta/pay/products.mjs.map +1 -0
  100. package/resources/beta/pay.d.mts +2 -0
  101. package/resources/beta/pay.d.mts.map +1 -0
  102. package/resources/beta/pay.d.ts +2 -0
  103. package/resources/beta/pay.d.ts.map +1 -0
  104. package/resources/beta/{subscriptions.js → pay.js} +2 -2
  105. package/resources/beta/pay.js.map +1 -0
  106. package/resources/beta/{subscriptions/plans.mjs → pay.mjs} +2 -2
  107. package/resources/beta/pay.mjs.map +1 -0
  108. package/src/client.ts +6 -4
  109. package/src/resources/beta/beta.ts +18 -18
  110. package/src/resources/beta/index.ts +8 -8
  111. package/src/resources/beta/pay/coupons.ts +218 -0
  112. package/src/resources/beta/pay/customers.ts +229 -0
  113. package/src/resources/beta/pay/entitlements.ts +135 -0
  114. package/src/resources/beta/{subscriptions → pay}/index.ts +15 -17
  115. package/src/resources/beta/{subscriptions/subscriptions.ts → pay/pay.ts} +70 -59
  116. package/src/resources/beta/{subscriptions/plans → pay/products}/entitlements.ts +26 -21
  117. package/src/resources/beta/{subscriptions/plans → pay/products}/index.ts +9 -9
  118. package/src/resources/beta/pay/products/products.ts +224 -0
  119. package/src/resources/beta/{subscriptions.ts → pay/products.ts} +1 -1
  120. package/src/resources/beta/{subscriptions/plans.ts → pay.ts} +1 -1
  121. package/src/version.ts +1 -1
  122. package/version.d.mts +1 -1
  123. package/version.d.ts +1 -1
  124. package/version.js +1 -1
  125. package/version.mjs +1 -1
  126. package/resources/beta/subscriptions/coupons.d.mts +0 -151
  127. package/resources/beta/subscriptions/coupons.d.mts.map +0 -1
  128. package/resources/beta/subscriptions/coupons.d.ts +0 -151
  129. package/resources/beta/subscriptions/coupons.d.ts.map +0 -1
  130. package/resources/beta/subscriptions/coupons.js +0 -51
  131. package/resources/beta/subscriptions/coupons.js.map +0 -1
  132. package/resources/beta/subscriptions/coupons.mjs +0 -47
  133. package/resources/beta/subscriptions/coupons.mjs.map +0 -1
  134. package/resources/beta/subscriptions/customers.d.mts +0 -93
  135. package/resources/beta/subscriptions/customers.d.mts.map +0 -1
  136. package/resources/beta/subscriptions/customers.d.ts +0 -93
  137. package/resources/beta/subscriptions/customers.d.ts.map +0 -1
  138. package/resources/beta/subscriptions/customers.js +0 -57
  139. package/resources/beta/subscriptions/customers.js.map +0 -1
  140. package/resources/beta/subscriptions/customers.mjs +0 -53
  141. package/resources/beta/subscriptions/customers.mjs.map +0 -1
  142. package/resources/beta/subscriptions/entitlements.d.mts +0 -70
  143. package/resources/beta/subscriptions/entitlements.d.mts.map +0 -1
  144. package/resources/beta/subscriptions/entitlements.d.ts +0 -70
  145. package/resources/beta/subscriptions/entitlements.d.ts.map +0 -1
  146. package/resources/beta/subscriptions/entitlements.js +0 -38
  147. package/resources/beta/subscriptions/entitlements.js.map +0 -1
  148. package/resources/beta/subscriptions/entitlements.mjs +0 -34
  149. package/resources/beta/subscriptions/entitlements.mjs.map +0 -1
  150. package/resources/beta/subscriptions/index.d.mts +0 -6
  151. package/resources/beta/subscriptions/index.d.mts.map +0 -1
  152. package/resources/beta/subscriptions/index.d.ts +0 -6
  153. package/resources/beta/subscriptions/index.d.ts.map +0 -1
  154. package/resources/beta/subscriptions/index.js.map +0 -1
  155. package/resources/beta/subscriptions/index.mjs.map +0 -1
  156. package/resources/beta/subscriptions/plans/entitlements.d.mts +0 -48
  157. package/resources/beta/subscriptions/plans/entitlements.d.mts.map +0 -1
  158. package/resources/beta/subscriptions/plans/entitlements.d.ts +0 -48
  159. package/resources/beta/subscriptions/plans/entitlements.d.ts.map +0 -1
  160. package/resources/beta/subscriptions/plans/entitlements.js +0 -34
  161. package/resources/beta/subscriptions/plans/entitlements.js.map +0 -1
  162. package/resources/beta/subscriptions/plans/entitlements.mjs +0 -30
  163. package/resources/beta/subscriptions/plans/entitlements.mjs.map +0 -1
  164. package/resources/beta/subscriptions/plans/index.d.mts +0 -3
  165. package/resources/beta/subscriptions/plans/index.d.mts.map +0 -1
  166. package/resources/beta/subscriptions/plans/index.d.ts +0 -3
  167. package/resources/beta/subscriptions/plans/index.d.ts.map +0 -1
  168. package/resources/beta/subscriptions/plans/index.js.map +0 -1
  169. package/resources/beta/subscriptions/plans/index.mjs.map +0 -1
  170. package/resources/beta/subscriptions/plans/plans.d.mts +0 -87
  171. package/resources/beta/subscriptions/plans/plans.d.mts.map +0 -1
  172. package/resources/beta/subscriptions/plans/plans.d.ts +0 -87
  173. package/resources/beta/subscriptions/plans/plans.d.ts.map +0 -1
  174. package/resources/beta/subscriptions/plans/plans.js +0 -49
  175. package/resources/beta/subscriptions/plans/plans.js.map +0 -1
  176. package/resources/beta/subscriptions/plans/plans.mjs +0 -44
  177. package/resources/beta/subscriptions/plans/plans.mjs.map +0 -1
  178. package/resources/beta/subscriptions/plans.d.mts +0 -2
  179. package/resources/beta/subscriptions/plans.d.mts.map +0 -1
  180. package/resources/beta/subscriptions/plans.d.ts +0 -2
  181. package/resources/beta/subscriptions/plans.d.ts.map +0 -1
  182. package/resources/beta/subscriptions/plans.js.map +0 -1
  183. package/resources/beta/subscriptions/plans.mjs.map +0 -1
  184. package/resources/beta/subscriptions/subscriptions.d.mts.map +0 -1
  185. package/resources/beta/subscriptions/subscriptions.d.ts.map +0 -1
  186. package/resources/beta/subscriptions/subscriptions.js +0 -47
  187. package/resources/beta/subscriptions/subscriptions.js.map +0 -1
  188. package/resources/beta/subscriptions/subscriptions.mjs +0 -42
  189. package/resources/beta/subscriptions/subscriptions.mjs.map +0 -1
  190. package/resources/beta/subscriptions.d.mts +0 -2
  191. package/resources/beta/subscriptions.d.mts.map +0 -1
  192. package/resources/beta/subscriptions.d.ts +0 -2
  193. package/resources/beta/subscriptions.d.ts.map +0 -1
  194. package/resources/beta/subscriptions.js.map +0 -1
  195. package/resources/beta/subscriptions.mjs.map +0 -1
  196. package/src/resources/beta/subscriptions/coupons.ts +0 -221
  197. package/src/resources/beta/subscriptions/customers.ts +0 -168
  198. package/src/resources/beta/subscriptions/entitlements.ts +0 -113
  199. package/src/resources/beta/subscriptions/plans/plans.ts +0 -159
@@ -0,0 +1,160 @@
1
+ import { APIResource } from "../../../core/resource.mjs";
2
+ import { APIPromise } from "../../../core/api-promise.mjs";
3
+ import { CursorIDPage, type CursorIDPageParams, PagePromise } from "../../../core/pagination.mjs";
4
+ import { RequestOptions } from "../../../internal/request-options.mjs";
5
+ export declare class Customers extends APIResource {
6
+ /**
7
+ * Creates a new billable customer. A customer represents the entity in your app
8
+ * that will be charged—typically a user, organization, or project. Hercules
9
+ * recommends creating a customer immediately after creating the corresponding
10
+ * entity in your app.
11
+ */
12
+ create(body?: CustomerCreateParams | null | undefined, options?: RequestOptions): APIPromise<Customer>;
13
+ /**
14
+ * Updates an existing customer. Use this to modify contact information or billing
15
+ * address. Only provided fields are updated; omitted fields remain unchanged.
16
+ */
17
+ update(customerID: string, body?: CustomerUpdateParams | null | undefined, options?: RequestOptions): APIPromise<Customer>;
18
+ /**
19
+ * Retrieves a paginated list of all customers. Customers are the billable entities
20
+ * in your app—typically users, organizations, or projects.
21
+ */
22
+ list(query?: CustomerListParams | null | undefined, options?: RequestOptions): PagePromise<CustomersCursorIDPage, Customer>;
23
+ /**
24
+ * Permanently deletes a customer. This also cancels any active subscriptions. This
25
+ * action cannot be undone.
26
+ */
27
+ delete(customerID: string, options?: RequestOptions): APIPromise<void>;
28
+ /**
29
+ * Generates a URL to a hosted billing portal where the customer can view invoices,
30
+ * update payment methods, and manage billing details. Redirect the customer to the
31
+ * returned URL.
32
+ */
33
+ billingPortal(customerID: string, body?: CustomerBillingPortalParams | null | undefined, options?: RequestOptions): APIPromise<CustomerBillingPortalResponse>;
34
+ /**
35
+ * Retrieves a customer by ID. Returns the customer object including contact
36
+ * information and billing address.
37
+ */
38
+ get(customerID: string, options?: RequestOptions): APIPromise<Customer>;
39
+ }
40
+ export type CustomersCursorIDPage = CursorIDPage<Customer>;
41
+ /**
42
+ * A billable customer. Represents the entity in your app that will be
43
+ * charged—typically a user, organization, or project.
44
+ */
45
+ export interface Customer {
46
+ /**
47
+ * Unique identifier for the entitlement
48
+ */
49
+ id: string;
50
+ /**
51
+ * Timestamp when the customer was created
52
+ */
53
+ created: string;
54
+ /**
55
+ * The customer's billing address
56
+ */
57
+ address?: CustomerAddress | null;
58
+ /**
59
+ * The customer's email address for receipts and notifications
60
+ */
61
+ email?: string | null;
62
+ /**
63
+ * The customer's full name
64
+ */
65
+ name?: string | null;
66
+ /**
67
+ * The customer's phone number
68
+ */
69
+ phone?: string | null;
70
+ }
71
+ /**
72
+ * The customer's billing address
73
+ */
74
+ export interface CustomerAddress {
75
+ /**
76
+ * City name
77
+ */
78
+ city?: string | null;
79
+ /**
80
+ * Two-letter ISO country code
81
+ */
82
+ country?: string | null;
83
+ /**
84
+ * Street address line 1
85
+ */
86
+ line1?: string | null;
87
+ /**
88
+ * Street address line 2 (apartment, suite, etc.)
89
+ */
90
+ line2?: string | null;
91
+ /**
92
+ * Postal or ZIP code
93
+ */
94
+ postal_code?: string | null;
95
+ /**
96
+ * State, province, or region
97
+ */
98
+ state?: string | null;
99
+ }
100
+ /**
101
+ * Response containing the billing portal URL
102
+ */
103
+ export interface CustomerBillingPortalResponse {
104
+ /**
105
+ * URL to redirect the customer to for the billing portal
106
+ */
107
+ url: string;
108
+ }
109
+ export interface CustomerCreateParams {
110
+ /**
111
+ * Optional custom ID for the customer. If not provided, one will be generated.
112
+ */
113
+ id?: string;
114
+ /**
115
+ * The customer's billing address
116
+ */
117
+ address?: CustomerAddress;
118
+ /**
119
+ * The customer's email address for receipts and notifications
120
+ */
121
+ email?: string;
122
+ /**
123
+ * The customer's full name
124
+ */
125
+ name?: string;
126
+ /**
127
+ * The customer's phone number
128
+ */
129
+ phone?: string;
130
+ }
131
+ export interface CustomerUpdateParams {
132
+ /**
133
+ * The customer's billing address
134
+ */
135
+ address?: CustomerAddress;
136
+ /**
137
+ * The customer's email address for receipts and notifications
138
+ */
139
+ email?: string;
140
+ /**
141
+ * The customer's full name
142
+ */
143
+ name?: string;
144
+ /**
145
+ * The customer's phone number
146
+ */
147
+ phone?: string;
148
+ }
149
+ export interface CustomerListParams extends CursorIDPageParams {
150
+ }
151
+ export interface CustomerBillingPortalParams {
152
+ /**
153
+ * URL to redirect the customer to after they exit the billing portal
154
+ */
155
+ return_url?: string;
156
+ }
157
+ export declare namespace Customers {
158
+ export { type Customer as Customer, type CustomerAddress as CustomerAddress, type CustomerBillingPortalResponse as CustomerBillingPortalResponse, type CustomersCursorIDPage as CustomersCursorIDPage, type CustomerCreateParams as CustomerCreateParams, type CustomerUpdateParams as CustomerUpdateParams, type CustomerListParams as CustomerListParams, type CustomerBillingPortalParams as CustomerBillingPortalParams, };
159
+ }
160
+ //# sourceMappingURL=customers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.d.mts","sourceRoot":"","sources":["../../../src/resources/beta/pay/customers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { APIResource } from "../../../core/resource.js";
2
+ import { APIPromise } from "../../../core/api-promise.js";
3
+ import { CursorIDPage, type CursorIDPageParams, PagePromise } from "../../../core/pagination.js";
4
+ import { RequestOptions } from "../../../internal/request-options.js";
5
+ export declare class Customers extends APIResource {
6
+ /**
7
+ * Creates a new billable customer. A customer represents the entity in your app
8
+ * that will be charged—typically a user, organization, or project. Hercules
9
+ * recommends creating a customer immediately after creating the corresponding
10
+ * entity in your app.
11
+ */
12
+ create(body?: CustomerCreateParams | null | undefined, options?: RequestOptions): APIPromise<Customer>;
13
+ /**
14
+ * Updates an existing customer. Use this to modify contact information or billing
15
+ * address. Only provided fields are updated; omitted fields remain unchanged.
16
+ */
17
+ update(customerID: string, body?: CustomerUpdateParams | null | undefined, options?: RequestOptions): APIPromise<Customer>;
18
+ /**
19
+ * Retrieves a paginated list of all customers. Customers are the billable entities
20
+ * in your app—typically users, organizations, or projects.
21
+ */
22
+ list(query?: CustomerListParams | null | undefined, options?: RequestOptions): PagePromise<CustomersCursorIDPage, Customer>;
23
+ /**
24
+ * Permanently deletes a customer. This also cancels any active subscriptions. This
25
+ * action cannot be undone.
26
+ */
27
+ delete(customerID: string, options?: RequestOptions): APIPromise<void>;
28
+ /**
29
+ * Generates a URL to a hosted billing portal where the customer can view invoices,
30
+ * update payment methods, and manage billing details. Redirect the customer to the
31
+ * returned URL.
32
+ */
33
+ billingPortal(customerID: string, body?: CustomerBillingPortalParams | null | undefined, options?: RequestOptions): APIPromise<CustomerBillingPortalResponse>;
34
+ /**
35
+ * Retrieves a customer by ID. Returns the customer object including contact
36
+ * information and billing address.
37
+ */
38
+ get(customerID: string, options?: RequestOptions): APIPromise<Customer>;
39
+ }
40
+ export type CustomersCursorIDPage = CursorIDPage<Customer>;
41
+ /**
42
+ * A billable customer. Represents the entity in your app that will be
43
+ * charged—typically a user, organization, or project.
44
+ */
45
+ export interface Customer {
46
+ /**
47
+ * Unique identifier for the entitlement
48
+ */
49
+ id: string;
50
+ /**
51
+ * Timestamp when the customer was created
52
+ */
53
+ created: string;
54
+ /**
55
+ * The customer's billing address
56
+ */
57
+ address?: CustomerAddress | null;
58
+ /**
59
+ * The customer's email address for receipts and notifications
60
+ */
61
+ email?: string | null;
62
+ /**
63
+ * The customer's full name
64
+ */
65
+ name?: string | null;
66
+ /**
67
+ * The customer's phone number
68
+ */
69
+ phone?: string | null;
70
+ }
71
+ /**
72
+ * The customer's billing address
73
+ */
74
+ export interface CustomerAddress {
75
+ /**
76
+ * City name
77
+ */
78
+ city?: string | null;
79
+ /**
80
+ * Two-letter ISO country code
81
+ */
82
+ country?: string | null;
83
+ /**
84
+ * Street address line 1
85
+ */
86
+ line1?: string | null;
87
+ /**
88
+ * Street address line 2 (apartment, suite, etc.)
89
+ */
90
+ line2?: string | null;
91
+ /**
92
+ * Postal or ZIP code
93
+ */
94
+ postal_code?: string | null;
95
+ /**
96
+ * State, province, or region
97
+ */
98
+ state?: string | null;
99
+ }
100
+ /**
101
+ * Response containing the billing portal URL
102
+ */
103
+ export interface CustomerBillingPortalResponse {
104
+ /**
105
+ * URL to redirect the customer to for the billing portal
106
+ */
107
+ url: string;
108
+ }
109
+ export interface CustomerCreateParams {
110
+ /**
111
+ * Optional custom ID for the customer. If not provided, one will be generated.
112
+ */
113
+ id?: string;
114
+ /**
115
+ * The customer's billing address
116
+ */
117
+ address?: CustomerAddress;
118
+ /**
119
+ * The customer's email address for receipts and notifications
120
+ */
121
+ email?: string;
122
+ /**
123
+ * The customer's full name
124
+ */
125
+ name?: string;
126
+ /**
127
+ * The customer's phone number
128
+ */
129
+ phone?: string;
130
+ }
131
+ export interface CustomerUpdateParams {
132
+ /**
133
+ * The customer's billing address
134
+ */
135
+ address?: CustomerAddress;
136
+ /**
137
+ * The customer's email address for receipts and notifications
138
+ */
139
+ email?: string;
140
+ /**
141
+ * The customer's full name
142
+ */
143
+ name?: string;
144
+ /**
145
+ * The customer's phone number
146
+ */
147
+ phone?: string;
148
+ }
149
+ export interface CustomerListParams extends CursorIDPageParams {
150
+ }
151
+ export interface CustomerBillingPortalParams {
152
+ /**
153
+ * URL to redirect the customer to after they exit the billing portal
154
+ */
155
+ return_url?: string;
156
+ }
157
+ export declare namespace Customers {
158
+ export { type Customer as Customer, type CustomerAddress as CustomerAddress, type CustomerBillingPortalResponse as CustomerBillingPortalResponse, type CustomersCursorIDPage as CustomersCursorIDPage, type CustomerCreateParams as CustomerCreateParams, type CustomerUpdateParams as CustomerUpdateParams, type CustomerListParams as CustomerListParams, type CustomerBillingPortalParams as CustomerBillingPortalParams, };
159
+ }
160
+ //# sourceMappingURL=customers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../../src/resources/beta/pay/customers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Customers = void 0;
5
+ const resource_1 = require("../../../core/resource.js");
6
+ const pagination_1 = require("../../../core/pagination.js");
7
+ const headers_1 = require("../../../internal/headers.js");
8
+ const path_1 = require("../../../internal/utils/path.js");
9
+ class Customers extends resource_1.APIResource {
10
+ /**
11
+ * Creates a new billable customer. A customer represents the entity in your app
12
+ * that will be charged—typically a user, organization, or project. Hercules
13
+ * recommends creating a customer immediately after creating the corresponding
14
+ * entity in your app.
15
+ */
16
+ create(body = {}, options) {
17
+ return this._client.post('/v1/pay/customers', { body, ...options });
18
+ }
19
+ /**
20
+ * Updates an existing customer. Use this to modify contact information or billing
21
+ * address. Only provided fields are updated; omitted fields remain unchanged.
22
+ */
23
+ update(customerID, body = {}, options) {
24
+ return this._client.patch((0, path_1.path) `/v1/pay/customers/${customerID}`, { body, ...options });
25
+ }
26
+ /**
27
+ * Retrieves a paginated list of all customers. Customers are the billable entities
28
+ * in your app—typically users, organizations, or projects.
29
+ */
30
+ list(query = {}, options) {
31
+ return this._client.getAPIList('/v1/pay/customers', (pagination_1.CursorIDPage), { query, ...options });
32
+ }
33
+ /**
34
+ * Permanently deletes a customer. This also cancels any active subscriptions. This
35
+ * action cannot be undone.
36
+ */
37
+ delete(customerID, options) {
38
+ return this._client.delete((0, path_1.path) `/v1/pay/customers/${customerID}`, {
39
+ ...options,
40
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
41
+ });
42
+ }
43
+ /**
44
+ * Generates a URL to a hosted billing portal where the customer can view invoices,
45
+ * update payment methods, and manage billing details. Redirect the customer to the
46
+ * returned URL.
47
+ */
48
+ billingPortal(customerID, body = {}, options) {
49
+ return this._client.post((0, path_1.path) `/v1/pay/customers/${customerID}/billing_portal`, { body, ...options });
50
+ }
51
+ /**
52
+ * Retrieves a customer by ID. Returns the customer object including contact
53
+ * information and billing address.
54
+ */
55
+ get(customerID, options) {
56
+ return this._client.get((0, path_1.path) `/v1/pay/customers/${customerID}`, options);
57
+ }
58
+ }
59
+ exports.Customers = Customers;
60
+ //# sourceMappingURL=customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../../src/resources/beta/pay/customers.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,wDAAqD;AAErD,4DAA8F;AAC9F,0DAAyD;AAEzD,0DAAoD;AAEpD,MAAa,SAAU,SAAQ,sBAAW;IACxC;;;;;OAKG;IACH,MAAM,CAAC,OAAgD,EAAE,EAAE,OAAwB;QACjF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,UAAkB,EAClB,OAAgD,EAAE,EAClD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,qBAAqB,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,yBAAsB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrG,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,qBAAqB,UAAU,EAAE,EAAE;YAChE,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,UAAkB,EAClB,OAAuD,EAAE,EACzD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,WAAI,EAAA,qBAAqB,UAAU,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvG,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,UAAkB,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,qBAAqB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;CACF;AAjED,8BAiEC"}
@@ -0,0 +1,56 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../../core/resource.mjs";
3
+ import { CursorIDPage } from "../../../core/pagination.mjs";
4
+ import { buildHeaders } from "../../../internal/headers.mjs";
5
+ import { path } from "../../../internal/utils/path.mjs";
6
+ export class Customers extends APIResource {
7
+ /**
8
+ * Creates a new billable customer. A customer represents the entity in your app
9
+ * that will be charged—typically a user, organization, or project. Hercules
10
+ * recommends creating a customer immediately after creating the corresponding
11
+ * entity in your app.
12
+ */
13
+ create(body = {}, options) {
14
+ return this._client.post('/v1/pay/customers', { body, ...options });
15
+ }
16
+ /**
17
+ * Updates an existing customer. Use this to modify contact information or billing
18
+ * address. Only provided fields are updated; omitted fields remain unchanged.
19
+ */
20
+ update(customerID, body = {}, options) {
21
+ return this._client.patch(path `/v1/pay/customers/${customerID}`, { body, ...options });
22
+ }
23
+ /**
24
+ * Retrieves a paginated list of all customers. Customers are the billable entities
25
+ * in your app—typically users, organizations, or projects.
26
+ */
27
+ list(query = {}, options) {
28
+ return this._client.getAPIList('/v1/pay/customers', (CursorIDPage), { query, ...options });
29
+ }
30
+ /**
31
+ * Permanently deletes a customer. This also cancels any active subscriptions. This
32
+ * action cannot be undone.
33
+ */
34
+ delete(customerID, options) {
35
+ return this._client.delete(path `/v1/pay/customers/${customerID}`, {
36
+ ...options,
37
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
38
+ });
39
+ }
40
+ /**
41
+ * Generates a URL to a hosted billing portal where the customer can view invoices,
42
+ * update payment methods, and manage billing details. Redirect the customer to the
43
+ * returned URL.
44
+ */
45
+ billingPortal(customerID, body = {}, options) {
46
+ return this._client.post(path `/v1/pay/customers/${customerID}/billing_portal`, { body, ...options });
47
+ }
48
+ /**
49
+ * Retrieves a customer by ID. Returns the customer object including contact
50
+ * information and billing address.
51
+ */
52
+ get(customerID, options) {
53
+ return this._client.get(path `/v1/pay/customers/${customerID}`, options);
54
+ }
55
+ }
56
+ //# sourceMappingURL=customers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.mjs","sourceRoot":"","sources":["../../../src/resources/beta/pay/customers.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAwC;OACtD,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC;;;;;OAKG;IACH,MAAM,CAAC,OAAgD,EAAE,EAAE,OAAwB;QACjF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,UAAkB,EAClB,OAAgD,EAAE,EAClD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA,qBAAqB,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,YAAsB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrG,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,qBAAqB,UAAU,EAAE,EAAE;YAChE,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,UAAkB,EAClB,OAAuD,EAAE,EACzD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,qBAAqB,UAAU,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvG,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,UAAkB,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,qBAAqB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;CACF"}
@@ -0,0 +1,94 @@
1
+ import { APIResource } from "../../../core/resource.mjs";
2
+ import { APIPromise } from "../../../core/api-promise.mjs";
3
+ import { CursorIDPage, type CursorIDPageParams, PagePromise } from "../../../core/pagination.mjs";
4
+ import { RequestOptions } from "../../../internal/request-options.mjs";
5
+ export declare class Entitlements extends APIResource {
6
+ /**
7
+ * Creates a new feature entitlement. Entitlements represent features or
8
+ * capabilities in your app that can be gated by subscription. After creating an
9
+ * entitlement, attach it to one or more plans to grant access to customers on
10
+ * those plans.
11
+ */
12
+ create(body: EntitlementCreateParams, options?: RequestOptions): APIPromise<Entitlement>;
13
+ /**
14
+ * Updates an existing entitlement. Use this to modify the name or deactivate the
15
+ * entitlement. The key cannot be changed after creation.
16
+ */
17
+ update(entitlementID: string, body?: EntitlementUpdateParams | null | undefined, options?: RequestOptions): APIPromise<Entitlement>;
18
+ /**
19
+ * Retrieves a paginated list of all entitlements. Entitlements represent features
20
+ * or capabilities in your app that can be gated by subscription. Use the key
21
+ * filter to find a specific entitlement by its key.
22
+ */
23
+ list(query?: EntitlementListParams | null | undefined, options?: RequestOptions): PagePromise<EntitlementsCursorIDPage, Entitlement>;
24
+ /**
25
+ * Retrieves an entitlement by ID. Returns the entitlement object including its
26
+ * lookup key and active status.
27
+ */
28
+ get(entitlementID: string, options?: RequestOptions): APIPromise<Entitlement>;
29
+ }
30
+ export type EntitlementsCursorIDPage = CursorIDPage<Entitlement>;
31
+ /**
32
+ * The entitlement attached to the product
33
+ */
34
+ export interface Entitlement {
35
+ /**
36
+ * Unique identifier for the entitlement
37
+ */
38
+ id: string;
39
+ /**
40
+ * Whether the entitlement is active and can be attached to products
41
+ */
42
+ active: boolean;
43
+ /**
44
+ * Unique key to identify the entitlement when checking access in your app
45
+ */
46
+ key: string;
47
+ /**
48
+ * Whether this is a live mode entitlement (vs test mode)
49
+ */
50
+ livemode: boolean;
51
+ /**
52
+ * Display name for the entitlement (e.g., API Access, Premium Support)
53
+ */
54
+ name: string;
55
+ }
56
+ export interface EntitlementCreateParams {
57
+ /**
58
+ * Unique key to identify the entitlement when checking access. Use a descriptive,
59
+ * stable key (e.g., api_access, premium_support).
60
+ */
61
+ key: string;
62
+ /**
63
+ * Display name for the entitlement (e.g., API Access, Premium Support)
64
+ */
65
+ name: string;
66
+ /**
67
+ * Optional custom ID for the entitlement. If not provided, one will be generated.
68
+ */
69
+ id?: string;
70
+ }
71
+ export interface EntitlementUpdateParams {
72
+ /**
73
+ * Whether the entitlement is active. Deactivating removes it from access checks.
74
+ */
75
+ active?: boolean;
76
+ /**
77
+ * Display name for the entitlement
78
+ */
79
+ name?: string;
80
+ }
81
+ export interface EntitlementListParams extends CursorIDPageParams {
82
+ /**
83
+ * Filter by archived status
84
+ */
85
+ archived?: 'true' | 'false';
86
+ /**
87
+ * Filter by exact key match
88
+ */
89
+ key?: string;
90
+ }
91
+ export declare namespace Entitlements {
92
+ export { type Entitlement as Entitlement, type EntitlementsCursorIDPage as EntitlementsCursorIDPage, type EntitlementCreateParams as EntitlementCreateParams, type EntitlementUpdateParams as EntitlementUpdateParams, type EntitlementListParams as EntitlementListParams, };
93
+ }
94
+ //# sourceMappingURL=entitlements.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.d.mts","sourceRoot":"","sources":["../../../src/resources/beta/pay/entitlements.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE;OACtD,EAAE,cAAc,EAAE;AAGzB,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxF;;;OAGG;IACH,MAAM,CACJ,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE,uBAAuB,GAAG,IAAI,GAAG,SAAc,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,WAAW,CAAC;IAI1B;;;;OAIG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,wBAAwB,EAAE,WAAW,CAAC;IAIrD;;;OAGG;IACH,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;CAG9E;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
@@ -0,0 +1,94 @@
1
+ import { APIResource } from "../../../core/resource.js";
2
+ import { APIPromise } from "../../../core/api-promise.js";
3
+ import { CursorIDPage, type CursorIDPageParams, PagePromise } from "../../../core/pagination.js";
4
+ import { RequestOptions } from "../../../internal/request-options.js";
5
+ export declare class Entitlements extends APIResource {
6
+ /**
7
+ * Creates a new feature entitlement. Entitlements represent features or
8
+ * capabilities in your app that can be gated by subscription. After creating an
9
+ * entitlement, attach it to one or more plans to grant access to customers on
10
+ * those plans.
11
+ */
12
+ create(body: EntitlementCreateParams, options?: RequestOptions): APIPromise<Entitlement>;
13
+ /**
14
+ * Updates an existing entitlement. Use this to modify the name or deactivate the
15
+ * entitlement. The key cannot be changed after creation.
16
+ */
17
+ update(entitlementID: string, body?: EntitlementUpdateParams | null | undefined, options?: RequestOptions): APIPromise<Entitlement>;
18
+ /**
19
+ * Retrieves a paginated list of all entitlements. Entitlements represent features
20
+ * or capabilities in your app that can be gated by subscription. Use the key
21
+ * filter to find a specific entitlement by its key.
22
+ */
23
+ list(query?: EntitlementListParams | null | undefined, options?: RequestOptions): PagePromise<EntitlementsCursorIDPage, Entitlement>;
24
+ /**
25
+ * Retrieves an entitlement by ID. Returns the entitlement object including its
26
+ * lookup key and active status.
27
+ */
28
+ get(entitlementID: string, options?: RequestOptions): APIPromise<Entitlement>;
29
+ }
30
+ export type EntitlementsCursorIDPage = CursorIDPage<Entitlement>;
31
+ /**
32
+ * The entitlement attached to the product
33
+ */
34
+ export interface Entitlement {
35
+ /**
36
+ * Unique identifier for the entitlement
37
+ */
38
+ id: string;
39
+ /**
40
+ * Whether the entitlement is active and can be attached to products
41
+ */
42
+ active: boolean;
43
+ /**
44
+ * Unique key to identify the entitlement when checking access in your app
45
+ */
46
+ key: string;
47
+ /**
48
+ * Whether this is a live mode entitlement (vs test mode)
49
+ */
50
+ livemode: boolean;
51
+ /**
52
+ * Display name for the entitlement (e.g., API Access, Premium Support)
53
+ */
54
+ name: string;
55
+ }
56
+ export interface EntitlementCreateParams {
57
+ /**
58
+ * Unique key to identify the entitlement when checking access. Use a descriptive,
59
+ * stable key (e.g., api_access, premium_support).
60
+ */
61
+ key: string;
62
+ /**
63
+ * Display name for the entitlement (e.g., API Access, Premium Support)
64
+ */
65
+ name: string;
66
+ /**
67
+ * Optional custom ID for the entitlement. If not provided, one will be generated.
68
+ */
69
+ id?: string;
70
+ }
71
+ export interface EntitlementUpdateParams {
72
+ /**
73
+ * Whether the entitlement is active. Deactivating removes it from access checks.
74
+ */
75
+ active?: boolean;
76
+ /**
77
+ * Display name for the entitlement
78
+ */
79
+ name?: string;
80
+ }
81
+ export interface EntitlementListParams extends CursorIDPageParams {
82
+ /**
83
+ * Filter by archived status
84
+ */
85
+ archived?: 'true' | 'false';
86
+ /**
87
+ * Filter by exact key match
88
+ */
89
+ key?: string;
90
+ }
91
+ export declare namespace Entitlements {
92
+ export { type Entitlement as Entitlement, type EntitlementsCursorIDPage as EntitlementsCursorIDPage, type EntitlementCreateParams as EntitlementCreateParams, type EntitlementUpdateParams as EntitlementUpdateParams, type EntitlementListParams as EntitlementListParams, };
93
+ }
94
+ //# sourceMappingURL=entitlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../../../src/resources/beta/pay/entitlements.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE;OACtD,EAAE,cAAc,EAAE;AAGzB,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxF;;;OAGG;IACH,MAAM,CACJ,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE,uBAAuB,GAAG,IAAI,GAAG,SAAc,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,WAAW,CAAC;IAI1B;;;;OAIG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,wBAAwB,EAAE,WAAW,CAAC;IAIrD;;;OAGG;IACH,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC;CAG9E;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}