@pagci/node 0.1.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 (219) hide show
  1. package/dist/cjs/client.d.ts +65 -0
  2. package/dist/cjs/client.d.ts.map +1 -0
  3. package/dist/cjs/client.js +149 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/crypto/CryptoProvider.d.ts +25 -0
  6. package/dist/cjs/crypto/CryptoProvider.d.ts.map +1 -0
  7. package/dist/cjs/crypto/CryptoProvider.js +3 -0
  8. package/dist/cjs/crypto/CryptoProvider.js.map +1 -0
  9. package/dist/cjs/crypto/NodeCryptoProvider.d.ts +16 -0
  10. package/dist/cjs/crypto/NodeCryptoProvider.d.ts.map +1 -0
  11. package/dist/cjs/crypto/NodeCryptoProvider.js +36 -0
  12. package/dist/cjs/crypto/NodeCryptoProvider.js.map +1 -0
  13. package/dist/cjs/errors.d.ts +91 -0
  14. package/dist/cjs/errors.d.ts.map +1 -0
  15. package/dist/cjs/errors.js +171 -0
  16. package/dist/cjs/errors.js.map +1 -0
  17. package/dist/cjs/idempotency.d.ts +14 -0
  18. package/dist/cjs/idempotency.d.ts.map +1 -0
  19. package/dist/cjs/idempotency.js +26 -0
  20. package/dist/cjs/idempotency.js.map +1 -0
  21. package/dist/cjs/index.d.ts +20 -0
  22. package/dist/cjs/index.d.ts.map +1 -0
  23. package/dist/cjs/index.js +48 -0
  24. package/dist/cjs/index.js.map +1 -0
  25. package/dist/cjs/net/HttpClient.d.ts +17 -0
  26. package/dist/cjs/net/HttpClient.d.ts.map +1 -0
  27. package/dist/cjs/net/HttpClient.js +3 -0
  28. package/dist/cjs/net/HttpClient.js.map +1 -0
  29. package/dist/cjs/net/NodeHttpClient.d.ts +13 -0
  30. package/dist/cjs/net/NodeHttpClient.d.ts.map +1 -0
  31. package/dist/cjs/net/NodeHttpClient.js +132 -0
  32. package/dist/cjs/net/NodeHttpClient.js.map +1 -0
  33. package/dist/cjs/package.json +1 -0
  34. package/dist/cjs/pagination.d.ts +53 -0
  35. package/dist/cjs/pagination.d.ts.map +1 -0
  36. package/dist/cjs/pagination.js +99 -0
  37. package/dist/cjs/pagination.js.map +1 -0
  38. package/dist/cjs/querystring.d.ts +8 -0
  39. package/dist/cjs/querystring.d.ts.map +1 -0
  40. package/dist/cjs/querystring.js +20 -0
  41. package/dist/cjs/querystring.js.map +1 -0
  42. package/dist/cjs/requestSender.d.ts +40 -0
  43. package/dist/cjs/requestSender.d.ts.map +1 -0
  44. package/dist/cjs/requestSender.js +127 -0
  45. package/dist/cjs/requestSender.js.map +1 -0
  46. package/dist/cjs/resources/balance.d.ts +14 -0
  47. package/dist/cjs/resources/balance.d.ts.map +1 -0
  48. package/dist/cjs/resources/balance.js +31 -0
  49. package/dist/cjs/resources/balance.js.map +1 -0
  50. package/dist/cjs/resources/debts.d.ts +17 -0
  51. package/dist/cjs/resources/debts.d.ts.map +1 -0
  52. package/dist/cjs/resources/debts.js +35 -0
  53. package/dist/cjs/resources/debts.js.map +1 -0
  54. package/dist/cjs/resources/payments.d.ts +44 -0
  55. package/dist/cjs/resources/payments.d.ts.map +1 -0
  56. package/dist/cjs/resources/payments.js +66 -0
  57. package/dist/cjs/resources/payments.js.map +1 -0
  58. package/dist/cjs/resources/tokens.d.ts +22 -0
  59. package/dist/cjs/resources/tokens.d.ts.map +1 -0
  60. package/dist/cjs/resources/tokens.js +40 -0
  61. package/dist/cjs/resources/tokens.js.map +1 -0
  62. package/dist/cjs/resources/webhookEndpoints.d.ts +27 -0
  63. package/dist/cjs/resources/webhookEndpoints.d.ts.map +1 -0
  64. package/dist/cjs/resources/webhookEndpoints.js +55 -0
  65. package/dist/cjs/resources/webhookEndpoints.js.map +1 -0
  66. package/dist/cjs/resources/withdrawals.d.ts +23 -0
  67. package/dist/cjs/resources/withdrawals.d.ts.map +1 -0
  68. package/dist/cjs/resources/withdrawals.js +46 -0
  69. package/dist/cjs/resources/withdrawals.js.map +1 -0
  70. package/dist/cjs/retry.d.ts +34 -0
  71. package/dist/cjs/retry.d.ts.map +1 -0
  72. package/dist/cjs/retry.js +72 -0
  73. package/dist/cjs/retry.js.map +1 -0
  74. package/dist/cjs/types/balance.d.ts +35 -0
  75. package/dist/cjs/types/balance.d.ts.map +1 -0
  76. package/dist/cjs/types/balance.js +5 -0
  77. package/dist/cjs/types/balance.js.map +1 -0
  78. package/dist/cjs/types/common.d.ts +57 -0
  79. package/dist/cjs/types/common.d.ts.map +1 -0
  80. package/dist/cjs/types/common.js +5 -0
  81. package/dist/cjs/types/common.js.map +1 -0
  82. package/dist/cjs/types/debt.d.ts +49 -0
  83. package/dist/cjs/types/debt.d.ts.map +1 -0
  84. package/dist/cjs/types/debt.js +5 -0
  85. package/dist/cjs/types/debt.js.map +1 -0
  86. package/dist/cjs/types/error.d.ts +112 -0
  87. package/dist/cjs/types/error.d.ts.map +1 -0
  88. package/dist/cjs/types/error.js +132 -0
  89. package/dist/cjs/types/error.js.map +1 -0
  90. package/dist/cjs/types/index.d.ts +10 -0
  91. package/dist/cjs/types/index.d.ts.map +1 -0
  92. package/dist/cjs/types/index.js +9 -0
  93. package/dist/cjs/types/index.js.map +1 -0
  94. package/dist/cjs/types/payment.d.ts +246 -0
  95. package/dist/cjs/types/payment.d.ts.map +1 -0
  96. package/dist/cjs/types/payment.js +5 -0
  97. package/dist/cjs/types/payment.js.map +1 -0
  98. package/dist/cjs/types/token.d.ts +39 -0
  99. package/dist/cjs/types/token.d.ts.map +1 -0
  100. package/dist/cjs/types/token.js +5 -0
  101. package/dist/cjs/types/token.js.map +1 -0
  102. package/dist/cjs/types/webhook.d.ts +102 -0
  103. package/dist/cjs/types/webhook.d.ts.map +1 -0
  104. package/dist/cjs/types/webhook.js +18 -0
  105. package/dist/cjs/types/webhook.js.map +1 -0
  106. package/dist/cjs/types/withdrawal.d.ts +89 -0
  107. package/dist/cjs/types/withdrawal.d.ts.map +1 -0
  108. package/dist/cjs/types/withdrawal.js +5 -0
  109. package/dist/cjs/types/withdrawal.js.map +1 -0
  110. package/dist/esm/client.d.ts +65 -0
  111. package/dist/esm/client.d.ts.map +1 -0
  112. package/dist/esm/client.js +145 -0
  113. package/dist/esm/client.js.map +1 -0
  114. package/dist/esm/crypto/CryptoProvider.d.ts +25 -0
  115. package/dist/esm/crypto/CryptoProvider.d.ts.map +1 -0
  116. package/dist/esm/crypto/CryptoProvider.js +2 -0
  117. package/dist/esm/crypto/CryptoProvider.js.map +1 -0
  118. package/dist/esm/crypto/NodeCryptoProvider.d.ts +16 -0
  119. package/dist/esm/crypto/NodeCryptoProvider.d.ts.map +1 -0
  120. package/dist/esm/crypto/NodeCryptoProvider.js +32 -0
  121. package/dist/esm/crypto/NodeCryptoProvider.js.map +1 -0
  122. package/dist/esm/errors.d.ts +91 -0
  123. package/dist/esm/errors.d.ts.map +1 -0
  124. package/dist/esm/errors.js +155 -0
  125. package/dist/esm/errors.js.map +1 -0
  126. package/dist/esm/idempotency.d.ts +14 -0
  127. package/dist/esm/idempotency.d.ts.map +1 -0
  128. package/dist/esm/idempotency.js +23 -0
  129. package/dist/esm/idempotency.js.map +1 -0
  130. package/dist/esm/index.d.ts +20 -0
  131. package/dist/esm/index.d.ts.map +1 -0
  132. package/dist/esm/index.js +19 -0
  133. package/dist/esm/index.js.map +1 -0
  134. package/dist/esm/net/HttpClient.d.ts +17 -0
  135. package/dist/esm/net/HttpClient.d.ts.map +1 -0
  136. package/dist/esm/net/HttpClient.js +2 -0
  137. package/dist/esm/net/HttpClient.js.map +1 -0
  138. package/dist/esm/net/NodeHttpClient.d.ts +13 -0
  139. package/dist/esm/net/NodeHttpClient.d.ts.map +1 -0
  140. package/dist/esm/net/NodeHttpClient.js +95 -0
  141. package/dist/esm/net/NodeHttpClient.js.map +1 -0
  142. package/dist/esm/package.json +1 -0
  143. package/dist/esm/pagination.d.ts +53 -0
  144. package/dist/esm/pagination.d.ts.map +1 -0
  145. package/dist/esm/pagination.js +95 -0
  146. package/dist/esm/pagination.js.map +1 -0
  147. package/dist/esm/querystring.d.ts +8 -0
  148. package/dist/esm/querystring.d.ts.map +1 -0
  149. package/dist/esm/querystring.js +17 -0
  150. package/dist/esm/querystring.js.map +1 -0
  151. package/dist/esm/requestSender.d.ts +40 -0
  152. package/dist/esm/requestSender.d.ts.map +1 -0
  153. package/dist/esm/requestSender.js +123 -0
  154. package/dist/esm/requestSender.js.map +1 -0
  155. package/dist/esm/resources/balance.d.ts +14 -0
  156. package/dist/esm/resources/balance.d.ts.map +1 -0
  157. package/dist/esm/resources/balance.js +27 -0
  158. package/dist/esm/resources/balance.js.map +1 -0
  159. package/dist/esm/resources/debts.d.ts +17 -0
  160. package/dist/esm/resources/debts.d.ts.map +1 -0
  161. package/dist/esm/resources/debts.js +31 -0
  162. package/dist/esm/resources/debts.js.map +1 -0
  163. package/dist/esm/resources/payments.d.ts +44 -0
  164. package/dist/esm/resources/payments.d.ts.map +1 -0
  165. package/dist/esm/resources/payments.js +62 -0
  166. package/dist/esm/resources/payments.js.map +1 -0
  167. package/dist/esm/resources/tokens.d.ts +22 -0
  168. package/dist/esm/resources/tokens.d.ts.map +1 -0
  169. package/dist/esm/resources/tokens.js +36 -0
  170. package/dist/esm/resources/tokens.js.map +1 -0
  171. package/dist/esm/resources/webhookEndpoints.d.ts +27 -0
  172. package/dist/esm/resources/webhookEndpoints.d.ts.map +1 -0
  173. package/dist/esm/resources/webhookEndpoints.js +51 -0
  174. package/dist/esm/resources/webhookEndpoints.js.map +1 -0
  175. package/dist/esm/resources/withdrawals.d.ts +23 -0
  176. package/dist/esm/resources/withdrawals.d.ts.map +1 -0
  177. package/dist/esm/resources/withdrawals.js +42 -0
  178. package/dist/esm/resources/withdrawals.js.map +1 -0
  179. package/dist/esm/retry.d.ts +34 -0
  180. package/dist/esm/retry.d.ts.map +1 -0
  181. package/dist/esm/retry.js +66 -0
  182. package/dist/esm/retry.js.map +1 -0
  183. package/dist/esm/types/balance.d.ts +35 -0
  184. package/dist/esm/types/balance.d.ts.map +1 -0
  185. package/dist/esm/types/balance.js +4 -0
  186. package/dist/esm/types/balance.js.map +1 -0
  187. package/dist/esm/types/common.d.ts +57 -0
  188. package/dist/esm/types/common.d.ts.map +1 -0
  189. package/dist/esm/types/common.js +4 -0
  190. package/dist/esm/types/common.js.map +1 -0
  191. package/dist/esm/types/debt.d.ts +49 -0
  192. package/dist/esm/types/debt.d.ts.map +1 -0
  193. package/dist/esm/types/debt.js +4 -0
  194. package/dist/esm/types/debt.js.map +1 -0
  195. package/dist/esm/types/error.d.ts +112 -0
  196. package/dist/esm/types/error.d.ts.map +1 -0
  197. package/dist/esm/types/error.js +129 -0
  198. package/dist/esm/types/error.js.map +1 -0
  199. package/dist/esm/types/index.d.ts +10 -0
  200. package/dist/esm/types/index.d.ts.map +1 -0
  201. package/dist/esm/types/index.js +4 -0
  202. package/dist/esm/types/index.js.map +1 -0
  203. package/dist/esm/types/payment.d.ts +246 -0
  204. package/dist/esm/types/payment.d.ts.map +1 -0
  205. package/dist/esm/types/payment.js +4 -0
  206. package/dist/esm/types/payment.js.map +1 -0
  207. package/dist/esm/types/token.d.ts +39 -0
  208. package/dist/esm/types/token.d.ts.map +1 -0
  209. package/dist/esm/types/token.js +4 -0
  210. package/dist/esm/types/token.js.map +1 -0
  211. package/dist/esm/types/webhook.d.ts +102 -0
  212. package/dist/esm/types/webhook.d.ts.map +1 -0
  213. package/dist/esm/types/webhook.js +15 -0
  214. package/dist/esm/types/webhook.js.map +1 -0
  215. package/dist/esm/types/withdrawal.d.ts +89 -0
  216. package/dist/esm/types/withdrawal.d.ts.map +1 -0
  217. package/dist/esm/types/withdrawal.js +4 -0
  218. package/dist/esm/types/withdrawal.js.map +1 -0
  219. package/package.json +49 -0
@@ -0,0 +1,44 @@
1
+ import type { RequestSender, ApiResponse, RequestOptions } from '../requestSender.js';
2
+ import type { Payment, PaymentCompact, CreatePaymentParams, RefundParams, RefundResponse, PaymentListParams, StatusCount } from '../types/index.js';
3
+ import type { ListResponse, StatusResponse } from '../types/common.js';
4
+ import { Page } from '../pagination.js';
5
+ /** Payment list response includes status_counts alongside data. */
6
+ export interface PaymentListResponse extends ListResponse<PaymentCompact> {
7
+ status_counts: StatusCount[];
8
+ }
9
+ export declare class PaymentsResource {
10
+ private readonly sender;
11
+ constructor(sender: RequestSender);
12
+ /**
13
+ * Create a new PIX payment.
14
+ *
15
+ * Automatically generates an idempotency key if none is provided.
16
+ */
17
+ create(params: CreatePaymentParams, options?: RequestOptions): Promise<ApiResponse<Payment>>;
18
+ /**
19
+ * List payments with cursor-based pagination.
20
+ *
21
+ * Returns a `Page` that supports async iteration, manual navigation,
22
+ * and `autoPagingToArray()`.
23
+ */
24
+ list(params?: PaymentListParams): Page<PaymentCompact>;
25
+ /** Get a single payment by ID. */
26
+ get(id: string, options?: RequestOptions): Promise<ApiResponse<Payment>>;
27
+ /**
28
+ * Refund a payment (fully or partially).
29
+ *
30
+ * Pass `{ amount }` for proportional refund or `{ recipients }` for
31
+ * per-recipient distribution. These are mutually exclusive.
32
+ */
33
+ refund(id: string, params: RefundParams, options?: RequestOptions): Promise<ApiResponse<RefundResponse>>;
34
+ /** Release a held recipient on a payment. */
35
+ releaseRecipient(paymentId: string, walletId: string, options?: RequestOptions): Promise<ApiResponse<StatusResponse>>;
36
+ /**
37
+ * Get the receipt for a confirmed payment.
38
+ *
39
+ * Returns the raw response; the receipt format depends on the API
40
+ * (typically PDF binary or a JSON with a URL).
41
+ */
42
+ getReceipt(id: string, options?: RequestOptions): Promise<ApiResponse<Record<string, unknown>>>;
43
+ }
44
+ //# sourceMappingURL=payments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../../src/resources/payments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,mEAAmE;AACnE,MAAM,WAAW,mBAAoB,SAAQ,YAAY,CAAC,cAAc,CAAC;IACvE,aAAa,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAOhC;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC;IAStD,kCAAkC;IAC5B,GAAG,CACP,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIhC;;;;;OAKG;IACG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC,6CAA6C;IACvC,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC;;;;;OAKG;IACG,UAAU,CACd,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAQjD"}
@@ -0,0 +1,62 @@
1
+ // ── Payments resource ───────────────────────────────────────────────
2
+ import { Page } from '../pagination.js';
3
+ import { generateIdempotencyKey } from '../idempotency.js';
4
+ import { buildQueryString } from '../querystring.js';
5
+ export class PaymentsResource {
6
+ sender;
7
+ constructor(sender) {
8
+ this.sender = sender;
9
+ }
10
+ /**
11
+ * Create a new PIX payment.
12
+ *
13
+ * Automatically generates an idempotency key if none is provided.
14
+ */
15
+ async create(params, options) {
16
+ return this.sender.request('POST', '/payments', params, {
17
+ ...options,
18
+ idempotencyKey: options?.idempotencyKey ?? generateIdempotencyKey(),
19
+ });
20
+ }
21
+ /**
22
+ * List payments with cursor-based pagination.
23
+ *
24
+ * Returns a `Page` that supports async iteration, manual navigation,
25
+ * and `autoPagingToArray()`.
26
+ */
27
+ list(params) {
28
+ return new Page((cursor) => {
29
+ const query = buildQueryString({ ...params, cursor });
30
+ return this.sender
31
+ .request('GET', `/payments${query}`)
32
+ .then((res) => res);
33
+ });
34
+ }
35
+ /** Get a single payment by ID. */
36
+ async get(id, options) {
37
+ return this.sender.request('GET', `/payments/${id}`, undefined, options);
38
+ }
39
+ /**
40
+ * Refund a payment (fully or partially).
41
+ *
42
+ * Pass `{ amount }` for proportional refund or `{ recipients }` for
43
+ * per-recipient distribution. These are mutually exclusive.
44
+ */
45
+ async refund(id, params, options) {
46
+ return this.sender.request('POST', `/payments/${id}/refund`, params, options);
47
+ }
48
+ /** Release a held recipient on a payment. */
49
+ async releaseRecipient(paymentId, walletId, options) {
50
+ return this.sender.request('POST', `/payments/${paymentId}/recipients/${walletId}/release`, undefined, options);
51
+ }
52
+ /**
53
+ * Get the receipt for a confirmed payment.
54
+ *
55
+ * Returns the raw response; the receipt format depends on the API
56
+ * (typically PDF binary or a JSON with a URL).
57
+ */
58
+ async getReceipt(id, options) {
59
+ return this.sender.request('GET', `/payments/${id}/receipt`, undefined, options);
60
+ }
61
+ }
62
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../src/resources/payments.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAavE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOrD,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,MAA2B,EAC3B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;YAC/D,GAAG,OAAO;YACV,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE;SACpE,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,MAA0B;QAC7B,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,MAAM;iBACf,OAAO,CAAsB,KAAK,EAAE,YAAY,KAAK,EAAE,CAAC;iBACxD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAmC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,GAAG,CACP,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,EAAU,EACV,MAAoB,EACpB,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,aAAa,EAAE,SAAS,EACxB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,QAAgB,EAChB,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,aAAa,SAAS,eAAe,QAAQ,UAAU,EACvD,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,aAAa,EAAE,UAAU,EACzB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import type { RequestSender, ApiResponse, RequestOptions } from '../requestSender.js';
2
+ import type { CreateAccessTokenParams, CreateAccessTokenResponse, CreateAPIKeyParams, CreateAPIKeyResponse, UpdateTokenScopesParams } from '../types/index.js';
3
+ import type { StatusResponse } from '../types/common.js';
4
+ export declare class TokensResource {
5
+ private readonly sender;
6
+ constructor(sender: RequestSender);
7
+ /** Create a wallet-scoped access token. */
8
+ createAccessToken(params: CreateAccessTokenParams, options?: RequestOptions): Promise<ApiResponse<CreateAccessTokenResponse>>;
9
+ /** Create an account-level API key. */
10
+ createAPIKey(params: CreateAPIKeyParams, options?: RequestOptions): Promise<ApiResponse<CreateAPIKeyResponse>>;
11
+ /** List all active tokens (login, API keys, access tokens). */
12
+ list(options?: RequestOptions): Promise<ApiResponse<Record<string, unknown>[]>>;
13
+ /** List access tokens only. */
14
+ listAccessTokens(options?: RequestOptions): Promise<ApiResponse<Record<string, unknown>[]>>;
15
+ /** Revoke (delete) a token by ID. */
16
+ revoke(id: string, options?: RequestOptions): Promise<ApiResponse<StatusResponse>>;
17
+ /** Update the scopes of a token. */
18
+ updateScopes(id: string, params: UpdateTokenScopesParams, options?: RequestOptions): Promise<ApiResponse<StatusResponse>>;
19
+ /** Copy (duplicate) a token with the same scopes. */
20
+ copy(id: string, options?: RequestOptions): Promise<ApiResponse<Record<string, unknown>>>;
21
+ }
22
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD,2CAA2C;IACrC,iBAAiB,CACrB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IASlD,uCAAuC;IACjC,YAAY,CAChB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAS7C,+DAA+D;IACzD,IAAI,CACR,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IASlD,+BAA+B;IACzB,gBAAgB,CACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IASlD,qCAAqC;IAC/B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC,oCAAoC;IAC9B,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC,qDAAqD;IAC/C,IAAI,CACR,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAQjD"}
@@ -0,0 +1,36 @@
1
+ // ── Tokens resource ─────────────────────────────────────────────────
2
+ export class TokensResource {
3
+ sender;
4
+ constructor(sender) {
5
+ this.sender = sender;
6
+ }
7
+ /** Create a wallet-scoped access token. */
8
+ async createAccessToken(params, options) {
9
+ return this.sender.request('POST', '/tokens/access', params, options);
10
+ }
11
+ /** Create an account-level API key. */
12
+ async createAPIKey(params, options) {
13
+ return this.sender.request('POST', '/tokens/api-key', params, options);
14
+ }
15
+ /** List all active tokens (login, API keys, access tokens). */
16
+ async list(options) {
17
+ return this.sender.request('GET', '/tokens', undefined, options);
18
+ }
19
+ /** List access tokens only. */
20
+ async listAccessTokens(options) {
21
+ return this.sender.request('GET', '/tokens/access', undefined, options);
22
+ }
23
+ /** Revoke (delete) a token by ID. */
24
+ async revoke(id, options) {
25
+ return this.sender.request('DELETE', `/tokens/${id}`, undefined, options);
26
+ }
27
+ /** Update the scopes of a token. */
28
+ async updateScopes(id, params, options) {
29
+ return this.sender.request('PUT', `/tokens/${id}/scopes`, params, options);
30
+ }
31
+ /** Copy (duplicate) a token with the same scopes. */
32
+ async copy(id, options) {
33
+ return this.sender.request('POST', `/tokens/${id}/copy`, undefined, options);
34
+ }
35
+ }
36
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/resources/tokens.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAYvE,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,2CAA2C;IAC3C,KAAK,CAAC,iBAAiB,CACrB,MAA+B,EAC/B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,gBAAgB,EAChB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,YAAY,CAChB,MAA0B,EAC1B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,IAAI,CACR,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,gBAAgB,CACpB,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,MAAM,CACV,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,QAAQ,EACR,WAAW,EAAE,EAAE,EACf,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,MAA+B,EAC/B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,WAAW,EAAE,SAAS,EACtB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,IAAI,CACR,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,WAAW,EAAE,OAAO,EACpB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import type { RequestSender, ApiResponse, RequestOptions } from '../requestSender.js';
2
+ import type { WebhookEndpoint, WebhookEndpointsListResponse, RegisterWebhooksParams, WebhookEndpointInput, WebhookDelivery, WebhookDeliveryListParams, WebhookTestParams, WebhookTestResponse } from '../types/index.js';
3
+ import type { StatusResponse } from '../types/common.js';
4
+ import { Page } from '../pagination.js';
5
+ export declare class WebhookEndpointsResource {
6
+ private readonly sender;
7
+ constructor(sender: RequestSender);
8
+ /** Register one or more webhook endpoints. */
9
+ register(params: RegisterWebhooksParams, options?: RequestOptions): Promise<ApiResponse<WebhookEndpointsListResponse>>;
10
+ /** List all webhook endpoints. */
11
+ list(options?: RequestOptions): Promise<ApiResponse<WebhookEndpointsListResponse>>;
12
+ /** Update a webhook endpoint. */
13
+ update(id: string, params: WebhookEndpointInput, options?: RequestOptions): Promise<ApiResponse<WebhookEndpoint>>;
14
+ /** Delete a webhook endpoint. */
15
+ delete(id: string, options?: RequestOptions): Promise<ApiResponse<StatusResponse>>;
16
+ /** List webhook deliveries with cursor-based pagination. */
17
+ listDeliveries(params?: WebhookDeliveryListParams): Page<WebhookDelivery>;
18
+ /** Get a single webhook delivery by ID. */
19
+ getDelivery(id: string, options?: RequestOptions): Promise<ApiResponse<WebhookDelivery>>;
20
+ /** Resend a single webhook delivery. */
21
+ resend(id: string, options?: RequestOptions): Promise<ApiResponse<StatusResponse>>;
22
+ /** Bulk resend webhook deliveries matching a filter. */
23
+ bulkResend(params: WebhookDeliveryListParams, options?: RequestOptions): Promise<ApiResponse<StatusResponse>>;
24
+ /** Send a test webhook to a specific endpoint. */
25
+ test(params: WebhookTestParams, options?: RequestOptions): Promise<ApiResponse<WebhookTestResponse>>;
26
+ }
27
+ //# sourceMappingURL=webhookEndpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhookEndpoints.d.ts","sourceRoot":"","sources":["../../../src/resources/webhookEndpoints.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,eAAe,EACf,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD,8CAA8C;IACxC,QAAQ,CACZ,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IASrD,kCAAkC;IAC5B,IAAI,CACR,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IASrD,iCAAiC;IAC3B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IASxC,iCAAiC;IAC3B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC,4DAA4D;IAC5D,cAAc,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC,eAAe,CAAC;IASzE,2CAA2C;IACrC,WAAW,CACf,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IASxC,wCAAwC;IAClC,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC,wDAAwD;IAClD,UAAU,CACd,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IASvC,kDAAkD;IAC5C,IAAI,CACR,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;CAQ7C"}
@@ -0,0 +1,51 @@
1
+ // ── Webhook Endpoints resource ──────────────────────────────────────
2
+ import { Page } from '../pagination.js';
3
+ import { buildQueryString } from '../querystring.js';
4
+ export class WebhookEndpointsResource {
5
+ sender;
6
+ constructor(sender) {
7
+ this.sender = sender;
8
+ }
9
+ /** Register one or more webhook endpoints. */
10
+ async register(params, options) {
11
+ return this.sender.request('POST', '/hooks', params, options);
12
+ }
13
+ /** List all webhook endpoints. */
14
+ async list(options) {
15
+ return this.sender.request('GET', '/hooks', undefined, options);
16
+ }
17
+ /** Update a webhook endpoint. */
18
+ async update(id, params, options) {
19
+ return this.sender.request('PUT', `/hooks/${id}`, params, options);
20
+ }
21
+ /** Delete a webhook endpoint. */
22
+ async delete(id, options) {
23
+ return this.sender.request('DELETE', `/hooks/${id}`, undefined, options);
24
+ }
25
+ /** List webhook deliveries with cursor-based pagination. */
26
+ listDeliveries(params) {
27
+ return new Page((cursor) => {
28
+ const query = buildQueryString({ ...params, cursor });
29
+ return this.sender
30
+ .request('GET', `/hooks/deliveries${query}`)
31
+ .then((res) => res);
32
+ });
33
+ }
34
+ /** Get a single webhook delivery by ID. */
35
+ async getDelivery(id, options) {
36
+ return this.sender.request('GET', `/hooks/deliveries/${id}`, undefined, options);
37
+ }
38
+ /** Resend a single webhook delivery. */
39
+ async resend(id, options) {
40
+ return this.sender.request('POST', `/hooks/deliveries/${id}/resend`, undefined, options);
41
+ }
42
+ /** Bulk resend webhook deliveries matching a filter. */
43
+ async bulkResend(params, options) {
44
+ return this.sender.request('POST', '/hooks/deliveries/bulk-resend', params, options);
45
+ }
46
+ /** Send a test webhook to a specific endpoint. */
47
+ async test(params, options) {
48
+ return this.sender.request('POST', '/hooks/test', params, options);
49
+ }
50
+ }
51
+ //# sourceMappingURL=webhookEndpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhookEndpoints.js","sourceRoot":"","sources":["../../../src/resources/webhookEndpoints.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAcvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,8CAA8C;IAC9C,KAAK,CAAC,QAAQ,CACZ,MAA8B,EAC9B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,IAAI,CACR,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,MAAM,CACV,EAAU,EACV,MAA4B,EAC5B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,UAAU,EAAE,EAAE,EACd,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,MAAM,CACV,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,QAAQ,EACR,UAAU,EAAE,EAAE,EACd,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,cAAc,CAAC,MAAkC;QAC/C,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,MAAM;iBACf,OAAO,CAAgC,KAAK,EAAE,oBAAoB,KAAK,EAAE,CAAC;iBAC1E,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAoC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,WAAW,CACf,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,qBAAqB,EAAE,EAAE,EACzB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,MAAM,CACV,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,qBAAqB,EAAE,SAAS,EAChC,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,UAAU,CACd,MAAiC,EACjC,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,+BAA+B,EAC/B,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,IAAI,CACR,MAAyB,EACzB,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { RequestSender, ApiResponse, RequestOptions } from '../requestSender.js';
2
+ import type { Withdrawal, CreateWithdrawalParams, CreateWithdrawalResponse, WithdrawalListParams } from '../types/index.js';
3
+ import { Page } from '../pagination.js';
4
+ export declare class WithdrawalsResource {
5
+ private readonly sender;
6
+ constructor(sender: RequestSender);
7
+ /**
8
+ * Create a new withdrawal (PIX payout).
9
+ *
10
+ * Returns 202 Accepted. The withdrawal is processed asynchronously.
11
+ * Automatically generates an idempotency key if none is provided.
12
+ */
13
+ create(params: CreateWithdrawalParams, options?: RequestOptions): Promise<ApiResponse<CreateWithdrawalResponse>>;
14
+ /**
15
+ * List withdrawals with cursor-based pagination.
16
+ */
17
+ list(params?: WithdrawalListParams): Page<Withdrawal>;
18
+ /** Get a single withdrawal by ID. */
19
+ get(id: string, options?: RequestOptions): Promise<ApiResponse<Withdrawal>>;
20
+ /** Get the receipt for a settled withdrawal. */
21
+ getReceipt(id: string, options?: RequestOptions): Promise<ApiResponse<Record<string, unknown>>>;
22
+ }
23
+ //# sourceMappingURL=withdrawals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawals.d.ts","sourceRoot":"","sources":["../../../src/resources/withdrawals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD;;;;;OAKG;IACG,MAAM,CACV,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAYjD;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;IASrD,qCAAqC;IAC/B,GAAG,CACP,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IASnC,gDAAgD;IAC1C,UAAU,CACd,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAQjD"}
@@ -0,0 +1,42 @@
1
+ // ── Withdrawals resource ────────────────────────────────────────────
2
+ import { Page } from '../pagination.js';
3
+ import { generateIdempotencyKey } from '../idempotency.js';
4
+ import { buildQueryString } from '../querystring.js';
5
+ export class WithdrawalsResource {
6
+ sender;
7
+ constructor(sender) {
8
+ this.sender = sender;
9
+ }
10
+ /**
11
+ * Create a new withdrawal (PIX payout).
12
+ *
13
+ * Returns 202 Accepted. The withdrawal is processed asynchronously.
14
+ * Automatically generates an idempotency key if none is provided.
15
+ */
16
+ async create(params, options) {
17
+ return this.sender.request('POST', '/withdrawals', params, {
18
+ ...options,
19
+ idempotencyKey: options?.idempotencyKey ?? generateIdempotencyKey(),
20
+ });
21
+ }
22
+ /**
23
+ * List withdrawals with cursor-based pagination.
24
+ */
25
+ list(params) {
26
+ return new Page((cursor) => {
27
+ const query = buildQueryString({ ...params, cursor });
28
+ return this.sender
29
+ .request('GET', `/withdrawals${query}`)
30
+ .then((res) => res);
31
+ });
32
+ }
33
+ /** Get a single withdrawal by ID. */
34
+ async get(id, options) {
35
+ return this.sender.request('GET', `/withdrawals/${id}`, undefined, options);
36
+ }
37
+ /** Get the receipt for a settled withdrawal. */
38
+ async getReceipt(id, options) {
39
+ return this.sender.request('GET', `/withdrawals/${id}/receipt`, undefined, options);
40
+ }
41
+ }
42
+ //# sourceMappingURL=withdrawals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawals.js","sourceRoot":"","sources":["../../../src/resources/withdrawals.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAUvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,MAA8B,EAC9B,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,cAAc,EACd,MAAM,EACN;YACE,GAAG,OAAO;YACV,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE;SACpE,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAA6B;QAChC,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,MAAM;iBACf,OAAO,CAA2B,KAAK,EAAE,eAAe,KAAK,EAAE,CAAC;iBAChE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAA+B,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,GAAG,CACP,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,EAAE,EAAE,EACpB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,UAAU,CACd,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,KAAK,EACL,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ export interface RetryConfig {
2
+ /** Maximum number of automatic retries (default 2). */
3
+ maxRetries: number;
4
+ /** Base delay in ms before first retry (default 500). */
5
+ initialDelay: number;
6
+ /** Ceiling for computed delay in ms (default 15 000). */
7
+ maxDelay: number;
8
+ }
9
+ export declare const DEFAULT_RETRY_CONFIG: Readonly<RetryConfig>;
10
+ /**
11
+ * Determine whether a failed request should be retried.
12
+ *
13
+ * Rules:
14
+ * - Status 429, 5xx are retryable.
15
+ * - GET / DELETE / PUT / HEAD / OPTIONS are always safe to retry.
16
+ * - POST is retryable ONLY if an idempotency key was provided.
17
+ * - PATCH follows POST rules (not inherently idempotent).
18
+ */
19
+ export declare function shouldRetry(status: number, method: string, hasIdempotencyKey: boolean): boolean;
20
+ /**
21
+ * Check whether a connection-level error (no HTTP response) is retryable.
22
+ */
23
+ export declare function isRetriableConnectionError(err: unknown): boolean;
24
+ /**
25
+ * Calculate the delay (in ms) before the next retry.
26
+ *
27
+ * Strategy: exponential backoff with jitter.
28
+ * delay = min(initialDelay * 2^attempt, maxDelay) * random(0.5, 1.0)
29
+ *
30
+ * If the server sent a `Retry-After` header (seconds), we use that
31
+ * instead — capped at 60 s to avoid absurd waits.
32
+ */
33
+ export declare function retryDelay(attempt: number, retryAfterHeader: string | undefined, config: RetryConfig): number;
34
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAItD,CAAC;AAUF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAKhE;AAOD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,MAAM,EAAE,WAAW,GAClB,MAAM,CAiBR"}
@@ -0,0 +1,66 @@
1
+ // ── Configuration ────────────────────────────────────────────────────
2
+ export const DEFAULT_RETRY_CONFIG = {
3
+ maxRetries: 2,
4
+ initialDelay: 500,
5
+ maxDelay: 15_000,
6
+ };
7
+ // ── Retry eligibility ────────────────────────────────────────────────
8
+ /** HTTP methods that are inherently idempotent. */
9
+ const IDEMPOTENT_METHODS = new Set(['GET', 'DELETE', 'PUT', 'HEAD', 'OPTIONS']);
10
+ /** HTTP status codes that warrant an automatic retry. */
11
+ const RETRYABLE_STATUSES = new Set([429, 500, 502, 503, 504]);
12
+ /**
13
+ * Determine whether a failed request should be retried.
14
+ *
15
+ * Rules:
16
+ * - Status 429, 5xx are retryable.
17
+ * - GET / DELETE / PUT / HEAD / OPTIONS are always safe to retry.
18
+ * - POST is retryable ONLY if an idempotency key was provided.
19
+ * - PATCH follows POST rules (not inherently idempotent).
20
+ */
21
+ export function shouldRetry(status, method, hasIdempotencyKey) {
22
+ if (!RETRYABLE_STATUSES.has(status))
23
+ return false;
24
+ const upper = method.toUpperCase();
25
+ if (IDEMPOTENT_METHODS.has(upper))
26
+ return true;
27
+ // POST / PATCH: only retry with an idempotency key
28
+ return hasIdempotencyKey;
29
+ }
30
+ /**
31
+ * Check whether a connection-level error (no HTTP response) is retryable.
32
+ */
33
+ export function isRetriableConnectionError(err) {
34
+ if (typeof err === 'object' && err !== null && 'retriable' in err) {
35
+ return err.retriable === true;
36
+ }
37
+ return false;
38
+ }
39
+ // ── Delay calculation ────────────────────────────────────────────────
40
+ /** Maximum value we'll honour from a Retry-After header (seconds). */
41
+ const MAX_RETRY_AFTER_SECONDS = 60;
42
+ /**
43
+ * Calculate the delay (in ms) before the next retry.
44
+ *
45
+ * Strategy: exponential backoff with jitter.
46
+ * delay = min(initialDelay * 2^attempt, maxDelay) * random(0.5, 1.0)
47
+ *
48
+ * If the server sent a `Retry-After` header (seconds), we use that
49
+ * instead — capped at 60 s to avoid absurd waits.
50
+ */
51
+ export function retryDelay(attempt, retryAfterHeader, config) {
52
+ // Honour Retry-After if present and parseable
53
+ if (retryAfterHeader !== undefined) {
54
+ const seconds = Number(retryAfterHeader);
55
+ if (!Number.isNaN(seconds) && seconds > 0) {
56
+ const capped = Math.min(seconds, MAX_RETRY_AFTER_SECONDS);
57
+ return capped * 1_000;
58
+ }
59
+ }
60
+ // Exponential backoff: initialDelay * 2^attempt, capped at maxDelay
61
+ const base = Math.min(config.initialDelay * 2 ** attempt, config.maxDelay);
62
+ // Jitter: multiply by random factor in [0.5, 1.0)
63
+ const jitter = 0.5 + Math.random() * 0.5;
64
+ return Math.round(base * jitter);
65
+ }
66
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAWxE,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,wEAAwE;AAExE,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhF,yDAAyD;AACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,MAAc,EACd,iBAA0B;IAE1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAElD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,mDAAmD;IACnD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QAClE,OAAQ,GAA8B,CAAC,SAAS,KAAK,IAAI,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AAExE,sEAAsE;AACtE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,OAAe,EACf,gBAAoC,EACpC,MAAmB;IAEnB,8CAA8C;IAC9C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YAC1D,OAAO,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE3E,kDAAkD;IAClD,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAEzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /** Per-wallet balance (includes wallet_id). */
2
+ export interface Balance {
3
+ wallet_id?: string;
4
+ /** Available balance in centavos (integer). */
5
+ available: number;
6
+ /** Locked for pending withdrawals, in centavos (integer). */
7
+ locked: number;
8
+ /** Pending confirmation, in centavos (integer). */
9
+ pending: number;
10
+ /** Scheduled for future availability, in centavos (integer). */
11
+ scheduled: number;
12
+ /** Outstanding debt balance, in centavos (integer). */
13
+ debt: number;
14
+ }
15
+ /** Account-level total balance (GET /user/balance response, no wallet_id). */
16
+ export interface TotalBalance {
17
+ /** Available balance in centavos (integer). */
18
+ available: number;
19
+ /** Locked for pending withdrawals, in centavos (integer). */
20
+ locked: number;
21
+ /** Pending confirmation, in centavos (integer). */
22
+ pending: number;
23
+ /** Scheduled for future availability, in centavos (integer). */
24
+ scheduled: number;
25
+ /** Outstanding debt balance, in centavos (integer). */
26
+ debt: number;
27
+ }
28
+ export interface WalletListParams {
29
+ sort?: string;
30
+ /** Prefix filter on wallet_id. */
31
+ search?: string;
32
+ page?: number;
33
+ per_page?: number;
34
+ }
35
+ //# sourceMappingURL=balance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../../src/types/balance.ts"],"names":[],"mappings":"AAGA,+CAA+C;AAC/C,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAID,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ // ── Balance types ───────────────────────────────────────────────────
2
+ // Source: cmd/specgen/types.go (BalanceView)
3
+ export {};
4
+ //# sourceMappingURL=balance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/types/balance.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6CAA6C"}
@@ -0,0 +1,57 @@
1
+ /** Payment owner — identifies the wallet that owns the payment. */
2
+ export interface Owner {
3
+ /** Wallet identifier. */
4
+ wallet_id: string;
5
+ /** Owner display name. */
6
+ name?: string;
7
+ /** CPF or CNPJ. */
8
+ document?: string;
9
+ }
10
+ /** Compact owner used in list views. */
11
+ export interface CompactOwner {
12
+ wallet_id: string;
13
+ name: string;
14
+ }
15
+ /** Customer attached to a payment. */
16
+ export interface Customer {
17
+ /** Customer identifier. */
18
+ id: string;
19
+ /** Customer CPF or CNPJ. */
20
+ document?: string;
21
+ /** Customer IP address. */
22
+ ip?: string;
23
+ /** Customer phone number. */
24
+ phone?: string;
25
+ /** Customer email. */
26
+ email?: string;
27
+ }
28
+ /** Line item within a payment. */
29
+ export interface Item {
30
+ /** Item name. */
31
+ name: string;
32
+ /** Item identifier. */
33
+ id: string;
34
+ /** Item value in centavos (integer). */
35
+ value: number;
36
+ }
37
+ /** Cursor-based pagination metadata. */
38
+ export interface ListMeta {
39
+ per_page: number;
40
+ next_cursor?: string;
41
+ prev_cursor?: string;
42
+ total?: number;
43
+ }
44
+ /** Paginated list envelope. */
45
+ export interface ListResponse<T> {
46
+ data: T[];
47
+ meta: ListMeta;
48
+ }
49
+ /** Generic status response (e.g. { status: "ok" }). */
50
+ export interface StatusResponse {
51
+ status: string;
52
+ }
53
+ /** Generic message response. */
54
+ export interface MessageResponse {
55
+ message: string;
56
+ }
57
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAGA,mEAAmE;AACnE,MAAM,WAAW,KAAK;IACpB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,kCAAkC;AAClC,MAAM,WAAW,IAAI;IACnB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wCAAwC;AACxC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,4 @@
1
+ // ── Common types ────────────────────────────────────────────────────
2
+ // Source: cmd/specgen/types.go (Owner, Customer, Item, ListMeta, etc.)
3
+ export {};
4
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,uEAAuE"}