listbee 0.5.0 → 0.6.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 (175) hide show
  1. package/README.md +187 -381
  2. package/dist/cjs/base-client.d.ts +9 -29
  3. package/dist/cjs/base-client.js +58 -14
  4. package/dist/cjs/base-client.js.map +1 -1
  5. package/dist/cjs/client.d.ts +17 -13
  6. package/dist/cjs/client.js +14 -11
  7. package/dist/cjs/client.js.map +1 -1
  8. package/dist/cjs/errors.d.ts +12 -0
  9. package/dist/cjs/errors.js +31 -1
  10. package/dist/cjs/errors.js.map +1 -1
  11. package/dist/cjs/generated/api-types.d.ts +4089 -0
  12. package/dist/cjs/generated/api-types.js +7 -0
  13. package/dist/cjs/generated/api-types.js.map +1 -0
  14. package/dist/cjs/generated/enums.d.ts +94 -0
  15. package/dist/cjs/generated/enums.js +87 -0
  16. package/dist/cjs/generated/enums.js.map +1 -0
  17. package/dist/cjs/generated/operations.d.ts +233 -0
  18. package/dist/cjs/generated/operations.js +39 -0
  19. package/dist/cjs/generated/operations.js.map +1 -0
  20. package/dist/cjs/generated/types.d.ts +68 -0
  21. package/dist/cjs/{types/order.js → generated/types.js} +1 -4
  22. package/dist/cjs/generated/types.js.map +1 -0
  23. package/dist/cjs/index.d.ts +7 -13
  24. package/dist/cjs/index.js +22 -14
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/resources/account.d.ts +11 -6
  27. package/dist/cjs/resources/account.js +19 -8
  28. package/dist/cjs/resources/account.js.map +1 -1
  29. package/dist/cjs/resources/api-keys.d.ts +18 -4
  30. package/dist/cjs/resources/api-keys.js +17 -1
  31. package/dist/cjs/resources/api-keys.js.map +1 -1
  32. package/dist/cjs/resources/customers.d.ts +23 -0
  33. package/dist/cjs/resources/customers.js +44 -0
  34. package/dist/cjs/resources/customers.js.map +1 -0
  35. package/dist/cjs/resources/files.d.ts +27 -0
  36. package/dist/cjs/resources/files.js +37 -0
  37. package/dist/cjs/resources/files.js.map +1 -0
  38. package/dist/cjs/resources/index.d.ts +3 -1
  39. package/dist/cjs/resources/index.js +7 -3
  40. package/dist/cjs/resources/index.js.map +1 -1
  41. package/dist/cjs/resources/listings.d.ts +35 -35
  42. package/dist/cjs/resources/listings.js +51 -116
  43. package/dist/cjs/resources/listings.js.map +1 -1
  44. package/dist/cjs/resources/orders.d.ts +28 -16
  45. package/dist/cjs/resources/orders.js +43 -36
  46. package/dist/cjs/resources/orders.js.map +1 -1
  47. package/dist/cjs/resources/signup.d.ts +21 -9
  48. package/dist/cjs/resources/signup.js +20 -3
  49. package/dist/cjs/resources/signup.js.map +1 -1
  50. package/dist/cjs/resources/stripe.d.ts +18 -6
  51. package/dist/cjs/resources/stripe.js +18 -7
  52. package/dist/cjs/resources/stripe.js.map +1 -1
  53. package/dist/cjs/resources/webhooks.d.ts +59 -3
  54. package/dist/cjs/resources/webhooks.js +102 -21
  55. package/dist/cjs/resources/webhooks.js.map +1 -1
  56. package/dist/cjs/types/index.d.ts +4 -10
  57. package/dist/cjs/types/index.js +17 -9
  58. package/dist/cjs/types/index.js.map +1 -1
  59. package/dist/cjs/types/shared.d.ts +25 -147
  60. package/dist/cjs/types/shared.js +12 -60
  61. package/dist/cjs/types/shared.js.map +1 -1
  62. package/dist/esm/base-client.d.ts +9 -29
  63. package/dist/esm/base-client.js +56 -12
  64. package/dist/esm/base-client.js.map +1 -1
  65. package/dist/esm/client.d.ts +17 -13
  66. package/dist/esm/client.js +14 -11
  67. package/dist/esm/client.js.map +1 -1
  68. package/dist/esm/errors.d.ts +12 -0
  69. package/dist/esm/errors.js +27 -0
  70. package/dist/esm/errors.js.map +1 -1
  71. package/dist/esm/generated/api-types.d.ts +4089 -0
  72. package/dist/esm/generated/api-types.js +6 -0
  73. package/dist/esm/generated/api-types.js.map +1 -0
  74. package/dist/esm/generated/enums.d.ts +94 -0
  75. package/dist/esm/generated/enums.js +84 -0
  76. package/dist/esm/generated/enums.js.map +1 -0
  77. package/dist/esm/generated/operations.d.ts +233 -0
  78. package/dist/esm/generated/operations.js +36 -0
  79. package/dist/esm/generated/operations.js.map +1 -0
  80. package/dist/esm/generated/types.d.ts +68 -0
  81. package/dist/esm/generated/types.js +2 -0
  82. package/dist/esm/generated/types.js.map +1 -0
  83. package/dist/esm/index.d.ts +7 -13
  84. package/dist/esm/index.js +5 -4
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/resources/account.d.ts +11 -6
  87. package/dist/esm/resources/account.js +19 -8
  88. package/dist/esm/resources/account.js.map +1 -1
  89. package/dist/esm/resources/api-keys.d.ts +18 -4
  90. package/dist/esm/resources/api-keys.js +17 -1
  91. package/dist/esm/resources/api-keys.js.map +1 -1
  92. package/dist/esm/resources/customers.d.ts +23 -0
  93. package/dist/esm/resources/customers.js +39 -0
  94. package/dist/esm/resources/customers.js.map +1 -0
  95. package/dist/esm/resources/files.d.ts +27 -0
  96. package/dist/esm/resources/files.js +33 -0
  97. package/dist/esm/resources/files.js.map +1 -0
  98. package/dist/esm/resources/index.d.ts +3 -1
  99. package/dist/esm/resources/index.js +3 -1
  100. package/dist/esm/resources/index.js.map +1 -1
  101. package/dist/esm/resources/listings.d.ts +35 -35
  102. package/dist/esm/resources/listings.js +50 -116
  103. package/dist/esm/resources/listings.js.map +1 -1
  104. package/dist/esm/resources/orders.d.ts +28 -16
  105. package/dist/esm/resources/orders.js +43 -36
  106. package/dist/esm/resources/orders.js.map +1 -1
  107. package/dist/esm/resources/signup.d.ts +21 -9
  108. package/dist/esm/resources/signup.js +20 -3
  109. package/dist/esm/resources/signup.js.map +1 -1
  110. package/dist/esm/resources/stripe.d.ts +18 -6
  111. package/dist/esm/resources/stripe.js +18 -7
  112. package/dist/esm/resources/stripe.js.map +1 -1
  113. package/dist/esm/resources/webhooks.d.ts +59 -3
  114. package/dist/esm/resources/webhooks.js +101 -21
  115. package/dist/esm/resources/webhooks.js.map +1 -1
  116. package/dist/esm/types/index.d.ts +4 -10
  117. package/dist/esm/types/index.js +2 -1
  118. package/dist/esm/types/index.js.map +1 -1
  119. package/dist/esm/types/shared.d.ts +25 -147
  120. package/dist/esm/types/shared.js +10 -59
  121. package/dist/esm/types/shared.js.map +1 -1
  122. package/package.json +4 -82
  123. package/dist/cjs/resources/stores.d.ts +0 -31
  124. package/dist/cjs/resources/stores.js +0 -67
  125. package/dist/cjs/resources/stores.js.map +0 -1
  126. package/dist/cjs/types/account.d.ts +0 -47
  127. package/dist/cjs/types/account.js +0 -6
  128. package/dist/cjs/types/account.js.map +0 -1
  129. package/dist/cjs/types/api-key.d.ts +0 -18
  130. package/dist/cjs/types/api-key.js +0 -6
  131. package/dist/cjs/types/api-key.js.map +0 -1
  132. package/dist/cjs/types/listing.d.ts +0 -187
  133. package/dist/cjs/types/listing.js +0 -6
  134. package/dist/cjs/types/listing.js.map +0 -1
  135. package/dist/cjs/types/order.d.ts +0 -75
  136. package/dist/cjs/types/order.js.map +0 -1
  137. package/dist/cjs/types/signup.d.ts +0 -24
  138. package/dist/cjs/types/signup.js +0 -6
  139. package/dist/cjs/types/signup.js.map +0 -1
  140. package/dist/cjs/types/store.d.ts +0 -70
  141. package/dist/cjs/types/store.js +0 -6
  142. package/dist/cjs/types/store.js.map +0 -1
  143. package/dist/cjs/types/stripe.d.ts +0 -12
  144. package/dist/cjs/types/stripe.js +0 -6
  145. package/dist/cjs/types/stripe.js.map +0 -1
  146. package/dist/cjs/types/webhook.d.ts +0 -88
  147. package/dist/cjs/types/webhook.js +0 -6
  148. package/dist/cjs/types/webhook.js.map +0 -1
  149. package/dist/esm/resources/stores.d.ts +0 -31
  150. package/dist/esm/resources/stores.js +0 -63
  151. package/dist/esm/resources/stores.js.map +0 -1
  152. package/dist/esm/types/account.d.ts +0 -47
  153. package/dist/esm/types/account.js +0 -5
  154. package/dist/esm/types/account.js.map +0 -1
  155. package/dist/esm/types/api-key.d.ts +0 -18
  156. package/dist/esm/types/api-key.js +0 -5
  157. package/dist/esm/types/api-key.js.map +0 -1
  158. package/dist/esm/types/listing.d.ts +0 -187
  159. package/dist/esm/types/listing.js +0 -5
  160. package/dist/esm/types/listing.js.map +0 -1
  161. package/dist/esm/types/order.d.ts +0 -75
  162. package/dist/esm/types/order.js +0 -5
  163. package/dist/esm/types/order.js.map +0 -1
  164. package/dist/esm/types/signup.d.ts +0 -24
  165. package/dist/esm/types/signup.js +0 -5
  166. package/dist/esm/types/signup.js.map +0 -1
  167. package/dist/esm/types/store.d.ts +0 -70
  168. package/dist/esm/types/store.js +0 -5
  169. package/dist/esm/types/store.js.map +0 -1
  170. package/dist/esm/types/stripe.d.ts +0 -12
  171. package/dist/esm/types/stripe.js +0 -5
  172. package/dist/esm/types/stripe.js.map +0 -1
  173. package/dist/esm/types/webhook.d.ts +0 -88
  174. package/dist/esm/types/webhook.js +0 -5
  175. package/dist/esm/types/webhook.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Account resource — GET and PUT /v1/account.
2
+ * Account resource — GET, PUT, DELETE /v1/account.
3
3
  */
4
4
  /** Resource for the /v1/account endpoint. */
5
5
  export class AccountResource {
@@ -18,18 +18,29 @@ export class AccountResource {
18
18
  /**
19
19
  * Update account settings.
20
20
  *
21
- * @param params - Fields to update.
22
- * @param params.ga_measurement_id - Google Analytics 4 Measurement ID (e.g. "G-XXXXXXXXXX").
23
- * Pass `null` to clear the existing value.
21
+ * @param params - Fields to update (display_name, bio, avatar, ga_measurement_id).
24
22
  * @returns The updated AccountResponse.
25
23
  */
26
- async update(params = {}) {
24
+ async update(params = {}, options) {
27
25
  const body = {};
28
- if ('ga_measurement_id' in params) {
26
+ if ('display_name' in params)
27
+ body['display_name'] = params.display_name;
28
+ if ('bio' in params)
29
+ body['bio'] = params.bio;
30
+ if ('avatar' in params)
31
+ body['avatar'] = params.avatar;
32
+ if ('ga_measurement_id' in params)
29
33
  body['ga_measurement_id'] = params.ga_measurement_id;
30
- }
31
- const response = await this._client.put('/v1/account', body);
34
+ const response = await this._client.put('/v1/account', body, options);
32
35
  return (await response.json());
33
36
  }
37
+ /**
38
+ * Permanently delete the authenticated account.
39
+ *
40
+ * PII is anonymized, API keys revoked. Irreversible.
41
+ */
42
+ async delete() {
43
+ await this._client.delete('/v1/account');
44
+ }
34
45
  }
35
46
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,6CAA6C;AAC7C,MAAM,OAAO,eAAe;IAC1B,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,SAA8B,EAAE;QAC3C,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,mBAAmB,IAAI,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACvD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/resources/account.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,6CAA6C;AAC7C,MAAM,OAAO,eAAe;IAC1B,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,SAA8B,EAAE,EAAE,OAAwB;QACrE,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,cAAc,IAAI,MAAM;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QACzE,IAAI,KAAK,IAAI,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QAC9C,IAAI,QAAQ,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACvD,IAAI,mBAAmB,IAAI,MAAM;YAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACxF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -2,13 +2,27 @@
2
2
  * API Keys resource — GET, POST, DELETE /v1/api-keys.
3
3
  */
4
4
  import type { BaseClient } from '../base-client';
5
- import type { ApiKeyResponse } from '../types/api-key';
5
+ import type { ApiKeyResponse, CreateApiKeyParams } from '../generated/types';
6
6
  export declare class ApiKeysResource {
7
7
  private readonly _client;
8
8
  constructor(_client: BaseClient);
9
+ /**
10
+ * List all API keys for the authenticated account.
11
+ *
12
+ * @returns Array of ApiKeyResponse objects (not paginated).
13
+ */
9
14
  list(): Promise<ApiKeyResponse[]>;
10
- create(params: {
11
- name: string;
12
- }): Promise<ApiKeyResponse>;
15
+ /**
16
+ * Create a new API key.
17
+ *
18
+ * @param params - API key creation parameters (name).
19
+ * @returns The created ApiKeyResponse with key value populated.
20
+ */
21
+ create(params: CreateApiKeyParams): Promise<ApiKeyResponse>;
22
+ /**
23
+ * Delete (revoke) an API key.
24
+ *
25
+ * @param keyId - The API key entity ID (e.g. "lbk_abc123").
26
+ */
13
27
  delete(keyId: string): Promise<void>;
14
28
  }
@@ -5,15 +5,31 @@ export class ApiKeysResource {
5
5
  constructor(_client) {
6
6
  this._client = _client;
7
7
  }
8
+ /**
9
+ * List all API keys for the authenticated account.
10
+ *
11
+ * @returns Array of ApiKeyResponse objects (not paginated).
12
+ */
8
13
  async list() {
9
14
  const response = await this._client.get('/v1/api-keys');
10
15
  const body = (await response.json());
11
16
  return (body.data ?? []);
12
17
  }
18
+ /**
19
+ * Create a new API key.
20
+ *
21
+ * @param params - API key creation parameters (name).
22
+ * @returns The created ApiKeyResponse with key value populated.
23
+ */
13
24
  async create(params) {
14
- const response = await this._client.post('/v1/api-keys', { name: params.name });
25
+ const response = await this._client.post('/v1/api-keys', params);
15
26
  return (await response.json());
16
27
  }
28
+ /**
29
+ * Delete (revoke) an API key.
30
+ *
31
+ * @param keyId - The API key entity ID (e.g. "lbk_abc123").
32
+ */
17
33
  async delete(keyId) {
18
34
  await this._client.delete(`/v1/api-keys/${keyId}`);
19
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../../src/resources/api-keys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,OAAO,eAAe;IAC1B,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAqB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAwB;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../../src/resources/api-keys.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,OAAO,eAAe;IAC1B,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAqB,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Customers resource — GET /v1/customers, GET /v1/customers/{customer_id}.
3
+ */
4
+ import type { BaseClient, CursorPage } from '../base-client';
5
+ import type { CustomerResponse, ListCustomersParams } from '../generated/types';
6
+ export declare class CustomersResource {
7
+ private readonly _client;
8
+ constructor(_client: BaseClient);
9
+ /**
10
+ * Return a paginated list of customers.
11
+ *
12
+ * @param params - Filter and pagination parameters.
13
+ * @returns A CursorPage of CustomerResponse objects.
14
+ */
15
+ list(params?: ListCustomersParams): Promise<CursorPage<CustomerResponse>>;
16
+ /**
17
+ * Retrieve a customer by ID.
18
+ *
19
+ * @param customerId - The customer ID (e.g. "cus_abc123").
20
+ * @returns The CustomerResponse.
21
+ */
22
+ get(customerId: string): Promise<CustomerResponse>;
23
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Customers resource — GET /v1/customers, GET /v1/customers/{customer_id}.
3
+ */
4
+ export class CustomersResource {
5
+ constructor(_client) {
6
+ this._client = _client;
7
+ }
8
+ /**
9
+ * Return a paginated list of customers.
10
+ *
11
+ * @param params - Filter and pagination parameters.
12
+ * @returns A CursorPage of CustomerResponse objects.
13
+ */
14
+ async list(params = {}) {
15
+ const queryParams = {
16
+ limit: params.limit ?? 20,
17
+ };
18
+ if (params.email != null)
19
+ queryParams['email'] = params.email;
20
+ if (params.created_after != null)
21
+ queryParams['created_after'] = params.created_after;
22
+ if (params.created_before != null)
23
+ queryParams['created_before'] = params.created_before;
24
+ if (params.cursor != null)
25
+ queryParams['cursor'] = params.cursor;
26
+ return this._client.getPage('/v1/customers', queryParams, (item) => item);
27
+ }
28
+ /**
29
+ * Retrieve a customer by ID.
30
+ *
31
+ * @param customerId - The customer ID (e.g. "cus_abc123").
32
+ * @returns The CustomerResponse.
33
+ */
34
+ async get(customerId) {
35
+ const response = await this._client.get(`/v1/customers/${customerId}`);
36
+ return (await response.json());
37
+ }
38
+ }
39
+ //# sourceMappingURL=customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.js","sourceRoot":"","sources":["../../../src/resources/customers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,OAAO,iBAAiB;IAC5B,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAA8B,EAAE;QACzC,MAAM,WAAW,GAA8C;YAC7D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9D,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,WAAW,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACtF,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI;YAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;QACzF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAmB,eAAe,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAwB,CAAC,CAAC;IAClH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACrD,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Files resource — POST /v1/files (multipart upload).
3
+ */
4
+ /// <reference types="node" />
5
+ /// <reference types="node" />
6
+ import type { BaseClient } from '../base-client';
7
+ import type { FileResponse } from '../generated/types';
8
+ import type { RequestOptions } from '../types/shared';
9
+ export declare class FilesResource {
10
+ private readonly _client;
11
+ constructor(_client: BaseClient);
12
+ /**
13
+ * Upload a file for use as a listing deliverable, cover image, or account avatar.
14
+ *
15
+ * Returns a file token valid for 24 hours. Pass the token to:
16
+ * - PUT /v1/listings/{id}/deliverables (as type: 'file', token: '...')
17
+ * - POST /v1/listings (as 'cover')
18
+ * - PUT /v1/account (as 'avatar')
19
+ *
20
+ * Max size: 25 MB.
21
+ *
22
+ * @param file - File content as Buffer or Blob.
23
+ * @param options - Request options.
24
+ * @returns The FileResponse with the file token.
25
+ */
26
+ upload(file: Buffer | Blob, options?: RequestOptions): Promise<FileResponse>;
27
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Files resource — POST /v1/files (multipart upload).
3
+ */
4
+ export class FilesResource {
5
+ constructor(_client) {
6
+ this._client = _client;
7
+ }
8
+ /**
9
+ * Upload a file for use as a listing deliverable, cover image, or account avatar.
10
+ *
11
+ * Returns a file token valid for 24 hours. Pass the token to:
12
+ * - PUT /v1/listings/{id}/deliverables (as type: 'file', token: '...')
13
+ * - POST /v1/listings (as 'cover')
14
+ * - PUT /v1/account (as 'avatar')
15
+ *
16
+ * Max size: 25 MB.
17
+ *
18
+ * @param file - File content as Buffer or Blob.
19
+ * @param options - Request options.
20
+ * @returns The FileResponse with the file token.
21
+ */
22
+ async upload(file, options) {
23
+ const formData = new FormData();
24
+ if (Buffer.isBuffer(file)) {
25
+ formData.append('file', new Blob([file]));
26
+ }
27
+ else {
28
+ formData.append('file', file);
29
+ }
30
+ return this._client.postMultipart('/v1/files', formData, options);
31
+ }
32
+ }
33
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/resources/files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,OAAO,aAAa;IACxB,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAM,CAAC,IAAmB,EAAE,OAAwB;QACxD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAe,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -1,6 +1,8 @@
1
1
  export { AccountResource } from './account';
2
- export { ListingsResource } from './listings';
3
2
  export { ApiKeysResource } from './api-keys';
3
+ export { CustomersResource } from './customers';
4
+ export { FilesResource } from './files';
5
+ export { ListingsResource } from './listings';
4
6
  export { OrdersResource } from './orders';
5
7
  export { SignupResource } from './signup';
6
8
  export { StripeResource } from './stripe';
@@ -1,6 +1,8 @@
1
1
  export { AccountResource } from './account';
2
- export { ListingsResource } from './listings';
3
2
  export { ApiKeysResource } from './api-keys';
3
+ export { CustomersResource } from './customers';
4
+ export { FilesResource } from './files';
5
+ export { ListingsResource } from './listings';
4
6
  export { OrdersResource } from './orders';
5
7
  export { SignupResource } from './signup';
6
8
  export { StripeResource } from './stripe';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Listings resource — CRUD + pause/resume for /v1/listings.
2
+ * Listings resource — CRUD + publish + deliverables for /v1/listings.
3
3
  */
4
4
  import type { BaseClient, CursorPage } from '../base-client';
5
- import type { CreateListingParams, ListingResponse, UpdateListingParams } from '../types/listing';
5
+ import type { CreateListingParams, ListingResponse, UpdateListingParams, ListListingsParams, SetDeliverablesParams } from '../generated/types';
6
+ import type { RequestOptions } from '../types/shared';
6
7
  /** Resource for the /v1/listings endpoint. */
7
8
  export declare class ListingsResource {
8
9
  private readonly _client;
@@ -10,61 +11,60 @@ export declare class ListingsResource {
10
11
  /**
11
12
  * Create a new listing.
12
13
  *
13
- * Builds the request body from provided params. `cover_blur` is only
14
- * included when it differs from the API default of "auto".
15
- * Currency is inherited from the account.
16
- *
17
14
  * @param params - Listing creation parameters.
15
+ * @param options - Request options (timeoutMs, idempotencyKey).
18
16
  * @returns The created ListingResponse.
19
17
  */
20
- create(params: CreateListingParams): Promise<ListingResponse>;
18
+ create(params: CreateListingParams, options?: RequestOptions): Promise<ListingResponse>;
21
19
  /**
22
- * Retrieve a listing by its URL slug.
20
+ * Return a paginated list of listings.
23
21
  *
24
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
25
- * @returns The ListingResponse for that slug.
22
+ * @param params - Filter and pagination parameters.
23
+ * @returns A CursorPage of ListingResponse objects.
26
24
  */
27
- get(slug: string): Promise<ListingResponse>;
25
+ list(params?: ListListingsParams): Promise<CursorPage<ListingResponse>>;
28
26
  /**
29
- * Return a paginated list of listings.
27
+ * Retrieve a listing by ID.
30
28
  *
31
- * @param params - Pagination parameters.
32
- * @param params.limit - Maximum items per page (default 20).
33
- * @param params.cursor - Pagination cursor from a previous response.
34
- * @returns A CursorPage of ListingResponse objects.
29
+ * @param listingId - The listing ID (e.g. "lst_abc123").
30
+ * @returns The ListingResponse.
35
31
  */
36
- list(params?: {
37
- limit?: number;
38
- cursor?: string;
39
- }): Promise<CursorPage<ListingResponse>>;
32
+ get(listingId: string): Promise<ListingResponse>;
40
33
  /**
41
34
  * Update an existing listing.
42
35
  *
43
- * Only the supplied fields are updated; all others remain unchanged.
44
- *
45
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
36
+ * @param listingId - The listing ID (e.g. "lst_abc123").
46
37
  * @param params - Fields to update.
47
38
  * @returns The updated ListingResponse.
48
39
  */
49
- update(slug: string, params: UpdateListingParams): Promise<ListingResponse>;
40
+ update(listingId: string, params: UpdateListingParams): Promise<ListingResponse>;
50
41
  /**
51
- * Pause a listing, preventing new purchases.
42
+ * Delete a listing.
52
43
  *
53
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
54
- * @returns The paused ListingResponse.
44
+ * @param listingId - The listing ID (e.g. "lst_abc123").
55
45
  */
56
- pause(slug: string): Promise<ListingResponse>;
46
+ delete(listingId: string): Promise<void>;
57
47
  /**
58
- * Resume a paused listing, allowing new purchases.
48
+ * Publish a draft listing.
59
49
  *
60
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
61
- * @returns The resumed ListingResponse.
50
+ * @param listingId - The listing ID (e.g. "lst_abc123").
51
+ * @param options - Request options.
52
+ * @returns The published ListingResponse.
62
53
  */
63
- resume(slug: string): Promise<ListingResponse>;
54
+ publish(listingId: string, options?: RequestOptions): Promise<ListingResponse>;
64
55
  /**
65
- * Delete a listing.
56
+ * Set deliverables on a listing (replaces all existing).
57
+ *
58
+ * @param listingId - The listing ID (e.g. "lst_abc123").
59
+ * @param params - Deliverables array.
60
+ * @returns The updated ListingResponse.
61
+ */
62
+ setDeliverables(listingId: string, params: SetDeliverablesParams): Promise<ListingResponse>;
63
+ /**
64
+ * Remove all deliverables from a listing.
66
65
  *
67
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
66
+ * @param listingId - The listing ID (e.g. "lst_abc123").
67
+ * @returns The updated ListingResponse.
68
68
  */
69
- delete(slug: string): Promise<void>;
69
+ removeDeliverables(listingId: string): Promise<ListingResponse>;
70
70
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Listings resource — CRUD + pause/resume for /v1/listings.
2
+ * Listings resource — CRUD + publish + deliverables for /v1/listings.
3
3
  */
4
4
  import { LISTING_CREATE_TIMEOUT_MS } from '../constants';
5
5
  /** Resource for the /v1/listings endpoint. */
@@ -10,159 +10,93 @@ export class ListingsResource {
10
10
  /**
11
11
  * Create a new listing.
12
12
  *
13
- * Builds the request body from provided params. `cover_blur` is only
14
- * included when it differs from the API default of "auto".
15
- * Currency is inherited from the account.
16
- *
17
13
  * @param params - Listing creation parameters.
14
+ * @param options - Request options (timeoutMs, idempotencyKey).
18
15
  * @returns The created ListingResponse.
19
16
  */
20
- async create(params) {
21
- const { name, price, content, timeoutMs, cover_blur, ...rest } = params;
22
- const body = { name, price };
23
- // content is optional (omit for external fulfillment)
24
- if (content !== undefined) {
25
- body['content'] = content;
26
- }
27
- const optionalFields = [
28
- 'description',
29
- 'tagline',
30
- 'highlights',
31
- 'cta',
32
- 'cover_url',
33
- 'metadata',
34
- 'compare_at_price',
35
- 'badges',
36
- 'rating',
37
- 'rating_count',
38
- 'reviews',
39
- 'faqs',
40
- 'store_id',
41
- 'fulfillment',
42
- 'checkout_schema',
43
- ];
44
- for (const field of optionalFields) {
45
- if (rest[field] !== undefined) {
46
- body[field] = rest[field];
47
- }
48
- }
49
- // cover_blur is only sent when different from the default "auto"
50
- if (cover_blur !== undefined && cover_blur !== 'auto') {
51
- body['cover_blur'] = cover_blur;
52
- }
53
- // UTM fields — include when explicitly provided (even null)
54
- if ('utm_source' in params)
55
- body['utm_source'] = params.utm_source;
56
- if ('utm_medium' in params)
57
- body['utm_medium'] = params.utm_medium;
58
- if ('utm_campaign' in params)
59
- body['utm_campaign'] = params.utm_campaign;
60
- const effectiveTimeout = timeoutMs ?? LISTING_CREATE_TIMEOUT_MS;
61
- const response = await this._client.post('/v1/listings', body, { timeoutMs: effectiveTimeout });
62
- return (await response.json());
63
- }
64
- /**
65
- * Retrieve a listing by its URL slug.
66
- *
67
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
68
- * @returns The ListingResponse for that slug.
69
- */
70
- async get(slug) {
71
- const response = await this._client.get(`/v1/listings/${slug}`);
17
+ async create(params, options) {
18
+ const effectiveTimeout = options?.timeoutMs ?? LISTING_CREATE_TIMEOUT_MS;
19
+ const response = await this._client.post('/v1/listings', params, {
20
+ ...options,
21
+ timeoutMs: effectiveTimeout,
22
+ });
72
23
  return (await response.json());
73
24
  }
74
25
  /**
75
26
  * Return a paginated list of listings.
76
27
  *
77
- * @param params - Pagination parameters.
78
- * @param params.limit - Maximum items per page (default 20).
79
- * @param params.cursor - Pagination cursor from a previous response.
28
+ * @param params - Filter and pagination parameters.
80
29
  * @returns A CursorPage of ListingResponse objects.
81
30
  */
82
31
  async list(params = {}) {
83
32
  const queryParams = {
84
33
  limit: params.limit ?? 20,
85
34
  };
86
- if (params.cursor !== undefined)
35
+ if (params.status != null)
36
+ queryParams['status'] = params.status;
37
+ if (params.cursor != null)
87
38
  queryParams['cursor'] = params.cursor;
88
39
  return this._client.getPage('/v1/listings', queryParams, (item) => item);
89
40
  }
90
41
  /**
91
- * Update an existing listing.
42
+ * Retrieve a listing by ID.
92
43
  *
93
- * Only the supplied fields are updated; all others remain unchanged.
44
+ * @param listingId - The listing ID (e.g. "lst_abc123").
45
+ * @returns The ListingResponse.
46
+ */
47
+ async get(listingId) {
48
+ const response = await this._client.get(`/v1/listings/${listingId}`);
49
+ return (await response.json());
50
+ }
51
+ /**
52
+ * Update an existing listing.
94
53
  *
95
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
54
+ * @param listingId - The listing ID (e.g. "lst_abc123").
96
55
  * @param params - Fields to update.
97
56
  * @returns The updated ListingResponse.
98
57
  */
99
- async update(slug, params) {
100
- const body = {};
101
- const fields = [
102
- 'name',
103
- 'price',
104
- 'description',
105
- 'tagline',
106
- 'highlights',
107
- 'cta',
108
- 'cover_url',
109
- 'metadata',
110
- 'compare_at_price',
111
- 'badges',
112
- 'cover_blur',
113
- 'rating',
114
- 'rating_count',
115
- 'reviews',
116
- 'faqs',
117
- 'fulfillment',
118
- 'checkout_schema',
119
- ];
120
- for (const field of fields) {
121
- if (params[field] !== undefined) {
122
- body[field] = params[field];
123
- }
124
- }
125
- // checkout_schema can be explicitly set to null to clear it
126
- if ('checkout_schema' in params && params.checkout_schema === null) {
127
- body['checkout_schema'] = null;
128
- }
129
- // UTM fields — include when explicitly provided (even null)
130
- if ('utm_source' in params)
131
- body['utm_source'] = params.utm_source;
132
- if ('utm_medium' in params)
133
- body['utm_medium'] = params.utm_medium;
134
- if ('utm_campaign' in params)
135
- body['utm_campaign'] = params.utm_campaign;
136
- const response = await this._client.put(`/v1/listings/${slug}`, body);
58
+ async update(listingId, params) {
59
+ const response = await this._client.put(`/v1/listings/${listingId}`, params);
137
60
  return (await response.json());
138
61
  }
139
62
  /**
140
- * Pause a listing, preventing new purchases.
63
+ * Delete a listing.
64
+ *
65
+ * @param listingId - The listing ID (e.g. "lst_abc123").
66
+ */
67
+ async delete(listingId) {
68
+ await this._client.delete(`/v1/listings/${listingId}`);
69
+ }
70
+ /**
71
+ * Publish a draft listing.
141
72
  *
142
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
143
- * @returns The paused ListingResponse.
73
+ * @param listingId - The listing ID (e.g. "lst_abc123").
74
+ * @param options - Request options.
75
+ * @returns The published ListingResponse.
144
76
  */
145
- async pause(slug) {
146
- const response = await this._client.post(`/v1/listings/${slug}/pause`);
77
+ async publish(listingId, options) {
78
+ const response = await this._client.post(`/v1/listings/${listingId}/publish`, undefined, options);
147
79
  return (await response.json());
148
80
  }
149
81
  /**
150
- * Resume a paused listing, allowing new purchases.
82
+ * Set deliverables on a listing (replaces all existing).
151
83
  *
152
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
153
- * @returns The resumed ListingResponse.
84
+ * @param listingId - The listing ID (e.g. "lst_abc123").
85
+ * @param params - Deliverables array.
86
+ * @returns The updated ListingResponse.
154
87
  */
155
- async resume(slug) {
156
- const response = await this._client.post(`/v1/listings/${slug}/resume`);
88
+ async setDeliverables(listingId, params) {
89
+ const response = await this._client.put(`/v1/listings/${listingId}/deliverables`, params);
157
90
  return (await response.json());
158
91
  }
159
92
  /**
160
- * Delete a listing.
93
+ * Remove all deliverables from a listing.
161
94
  *
162
- * @param slug - The listing's URL slug (e.g. "seo-playbook").
95
+ * @param listingId - The listing ID (e.g. "lst_abc123").
96
+ * @returns The updated ListingResponse.
163
97
  */
164
- async delete(slug) {
165
- await this._client.delete(`/v1/listings/${slug}`);
98
+ async removeDeliverables(listingId) {
99
+ return this._client.deleteWithResponse(`/v1/listings/${listingId}/deliverables`);
166
100
  }
167
101
  }
168
102
  //# sourceMappingURL=listings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listings.js","sourceRoot":"","sources":["../../../src/resources/listings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listings.js","sourceRoot":"","sources":["../../../src/resources/listings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAUzD,8CAA8C;AAC9C,MAAM,OAAO,gBAAgB;IAC3B,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,MAA2B,EAAE,OAAwB;QAChE,MAAM,gBAAgB,GAAG,OAAO,EAAE,SAAS,IAAI,yBAAyB,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE;YAC/D,GAAG,OAAO;YACV,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,SAA6B,EAAE;QACxC,MAAM,WAAW,GAA8C;YAC7D,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CACzB,cAAc,EACd,WAAW,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAuB,CAClC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,MAA2B;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7E,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,OAAwB;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,SAAS,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClG,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,MAA6B;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1F,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAkB,gBAAgB,SAAS,eAAe,CAAC,CAAC;IACpG,CAAC;CACF"}