@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 @@
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/idempotency.ts"],"names":[],"mappings":";;AAcA,wDAUC;AAxBD,6CAA0C;AAE1C;;;;;;;;;;;GAWG;AACH,SAAgB,sBAAsB;IACpC,2DAA2D;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpD,+DAA+D;IAC/D,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC;SACzB,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;SACnE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,OAAO,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,20 @@
1
+ export { Pagci } from './client.js';
2
+ export type { PagciConfig, WebhookEvent } from './client.js';
3
+ export { PagciError, AuthenticationError, ForbiddenError, NotFoundError, ValidationError, ConflictError, InsufficientBalanceError, RateLimitError, ApiError, ConnectionError, TimeoutError, SignatureVerificationError, errorFromResponse, } from './errors.js';
4
+ export type { ApiResponse, RequestOptions, ResponseMeta } from './requestSender.js';
5
+ export type { RetryConfig } from './retry.js';
6
+ export type { CryptoProvider } from './crypto/CryptoProvider.js';
7
+ export { NodeCryptoProvider } from './crypto/NodeCryptoProvider.js';
8
+ export type { HttpClient, HttpClientResponse } from './net/HttpClient.js';
9
+ export { NodeHttpClient } from './net/NodeHttpClient.js';
10
+ export { generateIdempotencyKey } from './idempotency.js';
11
+ export { Page } from './pagination.js';
12
+ export { PaymentsResource } from './resources/payments.js';
13
+ export { WithdrawalsResource } from './resources/withdrawals.js';
14
+ export { DebtsResource } from './resources/debts.js';
15
+ export { BalanceResource } from './resources/balance.js';
16
+ export { WebhookEndpointsResource } from './resources/webhookEndpoints.js';
17
+ export { TokensResource } from './resources/tokens.js';
18
+ export type { Owner, CompactOwner, Customer, Item, ListMeta, ListResponse, StatusResponse, MessageResponse, Payer, Bank, RefundEntry, DeductionEntry, HistoryEvent, KYCValidation, PaymentConfig, QRConfig, QRLogoConfig, QRForegroundConfig, QRModuleConfig, QRBadgeConfig, RecipientView, LiquidatorView, Payment, PaymentCompact, StatusCount, RecipientParams, CreatePaymentParams, RefundRecipientEntry, RefundParams, RefundDistEntry, RefundResponse, PaymentListParams, ReceiverBank, Receiver, WithdrawalLiquidator, Withdrawal, CreateWithdrawalResponse, CreateWithdrawalParams, WithdrawalListParams, Balance, TotalBalance, WalletListParams, WebhookEnvelope, WebhookEndpoint, WebhookEndpointsListResponse, WebhookEndpointInput, RegisterWebhooksParams, WebhookDelivery, WebhookDeliveryListResponse, WebhookTestParams, WebhookTestResponse, WebhookDeliveryListParams, CreateDebtParams, CreateDebtResponse, DebtListItem, DebtListResponse, DebtListParams, CreateAccessTokenParams, CreateAccessTokenResponse, CreateAPIKeyParams, CreateAPIKeyResponse, UpdateTokenScopesParams, } from './types/index.js';
19
+ export { ErrorCode, WebhookEventType } from './types/index.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGpF,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,YAAY,EACV,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,KAAK,EACL,IAAI,EACJ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebhookEventType = exports.ErrorCode = exports.TokensResource = exports.WebhookEndpointsResource = exports.BalanceResource = exports.DebtsResource = exports.WithdrawalsResource = exports.PaymentsResource = exports.Page = exports.generateIdempotencyKey = exports.NodeHttpClient = exports.NodeCryptoProvider = exports.errorFromResponse = exports.SignatureVerificationError = exports.TimeoutError = exports.ConnectionError = exports.ApiError = exports.RateLimitError = exports.InsufficientBalanceError = exports.ConflictError = exports.ValidationError = exports.NotFoundError = exports.ForbiddenError = exports.AuthenticationError = exports.PagciError = exports.Pagci = void 0;
4
+ // ── Main client ──────────────────────────────────────────────────────
5
+ var client_js_1 = require("./client.js");
6
+ Object.defineProperty(exports, "Pagci", { enumerable: true, get: function () { return client_js_1.Pagci; } });
7
+ // ── Errors ───────────────────────────────────────────────────────────
8
+ var errors_js_1 = require("./errors.js");
9
+ Object.defineProperty(exports, "PagciError", { enumerable: true, get: function () { return errors_js_1.PagciError; } });
10
+ Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_js_1.AuthenticationError; } });
11
+ Object.defineProperty(exports, "ForbiddenError", { enumerable: true, get: function () { return errors_js_1.ForbiddenError; } });
12
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_js_1.NotFoundError; } });
13
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_js_1.ValidationError; } });
14
+ Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return errors_js_1.ConflictError; } });
15
+ Object.defineProperty(exports, "InsufficientBalanceError", { enumerable: true, get: function () { return errors_js_1.InsufficientBalanceError; } });
16
+ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_js_1.RateLimitError; } });
17
+ Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return errors_js_1.ApiError; } });
18
+ Object.defineProperty(exports, "ConnectionError", { enumerable: true, get: function () { return errors_js_1.ConnectionError; } });
19
+ Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_js_1.TimeoutError; } });
20
+ Object.defineProperty(exports, "SignatureVerificationError", { enumerable: true, get: function () { return errors_js_1.SignatureVerificationError; } });
21
+ Object.defineProperty(exports, "errorFromResponse", { enumerable: true, get: function () { return errors_js_1.errorFromResponse; } });
22
+ var NodeCryptoProvider_js_1 = require("./crypto/NodeCryptoProvider.js");
23
+ Object.defineProperty(exports, "NodeCryptoProvider", { enumerable: true, get: function () { return NodeCryptoProvider_js_1.NodeCryptoProvider; } });
24
+ var NodeHttpClient_js_1 = require("./net/NodeHttpClient.js");
25
+ Object.defineProperty(exports, "NodeHttpClient", { enumerable: true, get: function () { return NodeHttpClient_js_1.NodeHttpClient; } });
26
+ // ── Utilities ────────────────────────────────────────────────────────
27
+ var idempotency_js_1 = require("./idempotency.js");
28
+ Object.defineProperty(exports, "generateIdempotencyKey", { enumerable: true, get: function () { return idempotency_js_1.generateIdempotencyKey; } });
29
+ // ── Pagination ──────────────────────────────────────────────────────
30
+ var pagination_js_1 = require("./pagination.js");
31
+ Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return pagination_js_1.Page; } });
32
+ // ── Resource classes ────────────────────────────────────────────────
33
+ var payments_js_1 = require("./resources/payments.js");
34
+ Object.defineProperty(exports, "PaymentsResource", { enumerable: true, get: function () { return payments_js_1.PaymentsResource; } });
35
+ var withdrawals_js_1 = require("./resources/withdrawals.js");
36
+ Object.defineProperty(exports, "WithdrawalsResource", { enumerable: true, get: function () { return withdrawals_js_1.WithdrawalsResource; } });
37
+ var debts_js_1 = require("./resources/debts.js");
38
+ Object.defineProperty(exports, "DebtsResource", { enumerable: true, get: function () { return debts_js_1.DebtsResource; } });
39
+ var balance_js_1 = require("./resources/balance.js");
40
+ Object.defineProperty(exports, "BalanceResource", { enumerable: true, get: function () { return balance_js_1.BalanceResource; } });
41
+ var webhookEndpoints_js_1 = require("./resources/webhookEndpoints.js");
42
+ Object.defineProperty(exports, "WebhookEndpointsResource", { enumerable: true, get: function () { return webhookEndpoints_js_1.WebhookEndpointsResource; } });
43
+ var tokens_js_1 = require("./resources/tokens.js");
44
+ Object.defineProperty(exports, "TokensResource", { enumerable: true, get: function () { return tokens_js_1.TokensResource; } });
45
+ var index_js_1 = require("./types/index.js");
46
+ Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return index_js_1.ErrorCode; } });
47
+ Object.defineProperty(exports, "WebhookEventType", { enumerable: true, get: function () { return index_js_1.WebhookEventType; } });
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAwE;AACxE,yCAAoC;AAA3B,kGAAA,KAAK,OAAA;AAGd,wEAAwE;AACxE,yCAcqB;AAbnB,uGAAA,UAAU,OAAA;AACV,gHAAA,mBAAmB,OAAA;AACnB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,qHAAA,wBAAwB,OAAA;AACxB,2GAAA,cAAc,OAAA;AACd,qGAAA,QAAQ,OAAA;AACR,4GAAA,eAAe,OAAA;AACf,yGAAA,YAAY,OAAA;AACZ,uHAAA,0BAA0B,OAAA;AAC1B,8GAAA,iBAAiB,OAAA;AAWnB,wEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAI3B,6DAAyD;AAAhD,mHAAA,cAAc,OAAA;AAEvB,wEAAwE;AACxE,mDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAE/B,uEAAuE;AACvE,iDAAuC;AAA9B,qGAAA,IAAI,OAAA;AAEb,uEAAuE;AACvE,uDAA2D;AAAlD,+GAAA,gBAAgB,OAAA;AACzB,6DAAiE;AAAxD,qHAAA,mBAAmB,OAAA;AAC5B,iDAAqD;AAA5C,yGAAA,aAAa,OAAA;AACtB,qDAAyD;AAAhD,6GAAA,eAAe,OAAA;AACxB,uEAA2E;AAAlE,+HAAA,wBAAwB,OAAA;AACjC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AAmEvB,6CAA+D;AAAtD,qGAAA,SAAS,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Raw HTTP response returned by any HttpClient implementation.
3
+ * Headers keys are always lowercased for consistent access.
4
+ */
5
+ export interface HttpClientResponse {
6
+ status: number;
7
+ headers: Record<string, string>;
8
+ body: string;
9
+ }
10
+ /**
11
+ * Abstract HTTP client interface.
12
+ * Implementations can use node:https, fetch, undici, etc.
13
+ */
14
+ export interface HttpClient {
15
+ request(method: string, url: string, headers: Record<string, string>, body?: string, timeout?: number): Promise<HttpClientResponse>;
16
+ }
17
+ //# sourceMappingURL=HttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../src/net/HttpClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CACL,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=HttpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../../src/net/HttpClient.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import * as https from 'node:https';
2
+ import * as http from 'node:http';
3
+ import type { HttpClient, HttpClientResponse } from './HttpClient.js';
4
+ /**
5
+ * Node.js native HTTPS client. Zero runtime dependencies.
6
+ * Uses `node:https` with TCP keep-alive by default.
7
+ */
8
+ export declare class NodeHttpClient implements HttpClient {
9
+ private readonly agent;
10
+ constructor(agent?: https.Agent | http.Agent);
11
+ request(method: string, url: string, headers: Record<string, string>, body?: string, timeout?: number): Promise<HttpClientResponse>;
12
+ }
13
+ //# sourceMappingURL=NodeHttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../../../src/net/NodeHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAatE;;;GAGG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;gBAErC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;IAI5C,OAAO,CACL,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;CAgE/B"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NodeHttpClient = void 0;
37
+ const https = __importStar(require("node:https"));
38
+ const http = __importStar(require("node:http"));
39
+ /**
40
+ * Default keep-alive agent — TCP connections stay warm between requests.
41
+ * Singleton: created once, shared across all NodeHttpClient instances
42
+ * unless the caller provides a custom agent.
43
+ */
44
+ const DEFAULT_AGENT = new https.Agent({
45
+ keepAlive: true,
46
+ keepAliveMsecs: 60_000,
47
+ maxSockets: 50,
48
+ });
49
+ /**
50
+ * Node.js native HTTPS client. Zero runtime dependencies.
51
+ * Uses `node:https` with TCP keep-alive by default.
52
+ */
53
+ class NodeHttpClient {
54
+ agent;
55
+ constructor(agent) {
56
+ this.agent = agent ?? DEFAULT_AGENT;
57
+ }
58
+ request(method, url, headers, body, timeout) {
59
+ return new Promise((resolve, reject) => {
60
+ const parsed = new URL(url);
61
+ const isHttps = parsed.protocol === 'https:';
62
+ const transport = isHttps ? https : http;
63
+ const options = {
64
+ method,
65
+ hostname: parsed.hostname,
66
+ port: parsed.port || (isHttps ? 443 : 80),
67
+ path: parsed.pathname + parsed.search,
68
+ headers,
69
+ agent: this.agent,
70
+ };
71
+ const req = transport.request(options, (res) => {
72
+ const chunks = [];
73
+ res.on('data', (chunk) => {
74
+ chunks.push(chunk);
75
+ });
76
+ res.on('end', () => {
77
+ // Normalize header keys to lowercase for consistent access
78
+ const responseHeaders = {};
79
+ for (const [key, value] of Object.entries(res.headers)) {
80
+ if (value !== undefined) {
81
+ responseHeaders[key.toLowerCase()] = Array.isArray(value)
82
+ ? value.join(', ')
83
+ : value;
84
+ }
85
+ }
86
+ resolve({
87
+ status: res.statusCode ?? 0,
88
+ headers: responseHeaders,
89
+ body: Buffer.concat(chunks).toString('utf8'),
90
+ });
91
+ });
92
+ res.on('error', (err) => {
93
+ reject(wrapConnectionError(err));
94
+ });
95
+ });
96
+ if (timeout !== undefined && timeout > 0) {
97
+ req.setTimeout(timeout, () => {
98
+ req.destroy(new Error(`Request timed out after ${timeout}ms`));
99
+ });
100
+ }
101
+ req.on('error', (err) => {
102
+ reject(wrapConnectionError(err));
103
+ });
104
+ if (body !== undefined) {
105
+ req.write(body, 'utf8');
106
+ }
107
+ req.end();
108
+ });
109
+ }
110
+ }
111
+ exports.NodeHttpClient = NodeHttpClient;
112
+ // ── Helpers ──────────────────────────────────────────────────────────
113
+ const RETRIABLE_CODES = new Set([
114
+ 'ECONNRESET',
115
+ 'ECONNREFUSED',
116
+ 'EPIPE',
117
+ 'ETIMEDOUT',
118
+ 'EHOSTUNREACH',
119
+ 'EAI_AGAIN',
120
+ ]);
121
+ /**
122
+ * Annotate connection-level errors with a `retriable` flag so the
123
+ * retry layer can make decisions without inspecting error messages.
124
+ */
125
+ function wrapConnectionError(err) {
126
+ const code = err.code;
127
+ if (code && RETRIABLE_CODES.has(code)) {
128
+ err.retriable = true;
129
+ }
130
+ return err;
131
+ }
132
+ //# sourceMappingURL=NodeHttpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeHttpClient.js","sourceRoot":"","sources":["../../../src/net/NodeHttpClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,53 @@
1
+ import type { ListMeta, ListResponse } from './types/common.js';
2
+ type Fetcher<T> = (cursor?: string) => Promise<ListResponse<T>>;
3
+ /**
4
+ * A lazy, async-iterable page of results.
5
+ *
6
+ * Supports three consumption patterns:
7
+ *
8
+ * 1. **Manual page-by-page:**
9
+ * ```ts
10
+ * let page = pagci.payments.list({ per_page: 10 });
11
+ * const first = await page.getData();
12
+ * if (page.hasNextPage()) page = await page.getNextPage();
13
+ * ```
14
+ *
15
+ * 2. **for-await (all items across pages):**
16
+ * ```ts
17
+ * for await (const payment of pagci.payments.list()) {
18
+ * console.log(payment.id);
19
+ * }
20
+ * ```
21
+ *
22
+ * 3. **Collect into array (with safety limit):**
23
+ * ```ts
24
+ * const all = await pagci.payments.list().autoPagingToArray({ limit: 500 });
25
+ * ```
26
+ */
27
+ export declare class Page<T> implements AsyncIterable<T> {
28
+ private readonly fetcher;
29
+ /** Current page data (empty until first fetch). */
30
+ data: T[];
31
+ /** Current page metadata. */
32
+ meta: ListMeta;
33
+ private loaded;
34
+ constructor(fetcher: Fetcher<T>);
35
+ private ensureLoaded;
36
+ /** Get current page data (fetches first page if not yet loaded). */
37
+ getData(): Promise<T[]>;
38
+ /** Whether there is a next page available. */
39
+ hasNextPage(): boolean;
40
+ /** Fetch the next page. Returns a new Page positioned at the next cursor. */
41
+ getNextPage(): Promise<Page<T>>;
42
+ [Symbol.asyncIterator](): AsyncGenerator<T>;
43
+ /**
44
+ * Collect items across pages into an array.
45
+ *
46
+ * @param opts.limit - Maximum number of items to collect (required as safety guard).
47
+ */
48
+ autoPagingToArray(opts: {
49
+ limit: number;
50
+ }): Promise<T[]>;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/pagination.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,IAAI,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IASlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,mDAAmD;IACnD,IAAI,EAAE,CAAC,EAAE,CAAM;IAEf,6BAA6B;IAC7B,IAAI,EAAE,QAAQ,CAAoB;IAElC,OAAO,CAAC,MAAM,CAAS;gBAEM,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAIlC,YAAY;IAQ1B,oEAAoE;IAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAO7B,8CAA8C;IAC9C,WAAW,IAAI,OAAO;IAItB,6EAA6E;IACvE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAe9B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;IAclD;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAQ/D"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ // ── Cursor-based auto-pagination ────────────────────────────────────
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Page = void 0;
5
+ /**
6
+ * A lazy, async-iterable page of results.
7
+ *
8
+ * Supports three consumption patterns:
9
+ *
10
+ * 1. **Manual page-by-page:**
11
+ * ```ts
12
+ * let page = pagci.payments.list({ per_page: 10 });
13
+ * const first = await page.getData();
14
+ * if (page.hasNextPage()) page = await page.getNextPage();
15
+ * ```
16
+ *
17
+ * 2. **for-await (all items across pages):**
18
+ * ```ts
19
+ * for await (const payment of pagci.payments.list()) {
20
+ * console.log(payment.id);
21
+ * }
22
+ * ```
23
+ *
24
+ * 3. **Collect into array (with safety limit):**
25
+ * ```ts
26
+ * const all = await pagci.payments.list().autoPagingToArray({ limit: 500 });
27
+ * ```
28
+ */
29
+ class Page {
30
+ fetcher;
31
+ /** Current page data (empty until first fetch). */
32
+ data = [];
33
+ /** Current page metadata. */
34
+ meta = { per_page: 20 };
35
+ loaded = false;
36
+ constructor(fetcher) {
37
+ this.fetcher = fetcher;
38
+ }
39
+ // ── Lazy first-page load ────────────────────────────────────────
40
+ async ensureLoaded() {
41
+ if (this.loaded)
42
+ return;
43
+ const res = await this.fetcher(undefined);
44
+ this.data = res.data;
45
+ this.meta = res.meta;
46
+ this.loaded = true;
47
+ }
48
+ /** Get current page data (fetches first page if not yet loaded). */
49
+ async getData() {
50
+ await this.ensureLoaded();
51
+ return this.data;
52
+ }
53
+ // ── Manual navigation ───────────────────────────────────────────
54
+ /** Whether there is a next page available. */
55
+ hasNextPage() {
56
+ return this.meta.next_cursor !== undefined && this.meta.next_cursor !== '';
57
+ }
58
+ /** Fetch the next page. Returns a new Page positioned at the next cursor. */
59
+ async getNextPage() {
60
+ await this.ensureLoaded();
61
+ if (!this.hasNextPage()) {
62
+ throw new Error('No next page available. Check hasNextPage() first.');
63
+ }
64
+ const next = new Page(this.fetcher);
65
+ const res = await this.fetcher(this.meta.next_cursor);
66
+ next.data = res.data;
67
+ next.meta = res.meta;
68
+ next.loaded = true;
69
+ return next;
70
+ }
71
+ // ── AsyncIterable — iterates ALL items across ALL pages ─────────
72
+ async *[Symbol.asyncIterator]() {
73
+ await this.ensureLoaded();
74
+ yield* this.data;
75
+ let cursor = this.meta.next_cursor;
76
+ while (cursor) {
77
+ const res = await this.fetcher(cursor);
78
+ yield* res.data;
79
+ cursor = res.meta.next_cursor;
80
+ }
81
+ }
82
+ // ── Collect into array ──────────────────────────────────────────
83
+ /**
84
+ * Collect items across pages into an array.
85
+ *
86
+ * @param opts.limit - Maximum number of items to collect (required as safety guard).
87
+ */
88
+ async autoPagingToArray(opts) {
89
+ const result = [];
90
+ for await (const item of this) {
91
+ result.push(item);
92
+ if (result.length >= opts.limit)
93
+ break;
94
+ }
95
+ return result;
96
+ }
97
+ }
98
+ exports.Page = Page;
99
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination.ts"],"names":[],"mappings":";AAAA,uEAAuE;;;AAMvE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,IAAI;IASc;IAR7B,mDAAmD;IACnD,IAAI,GAAQ,EAAE,CAAC;IAEf,6BAA6B;IAC7B,IAAI,GAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAE1B,MAAM,GAAG,KAAK,CAAC;IAEvB,YAA6B,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAEpD,mEAAmE;IAE3D,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,mEAAmE;IAEnE,8CAA8C;IAC9C,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC;IAC7E,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAEjB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,OAAO,MAAM,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAChB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QAChC,CAAC;IACH,CAAC;IAED,mEAAmE;IAEnE;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAuB;QAC7C,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA7ED,oBA6EC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Build a query string from an object of key-value pairs.
3
+ * Omits undefined/null values. Returns empty string if no params.
4
+ *
5
+ * @returns Query string WITH leading '?' (or empty string).
6
+ */
7
+ export declare function buildQueryString(params: Record<string, string | number | boolean | undefined | null>): string;
8
+ //# sourceMappingURL=querystring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querystring.d.ts","sourceRoot":"","sources":["../../src/querystring.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,GACnE,MAAM,CASR"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // ── Query string builder ────────────────────────────────────────────
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.buildQueryString = buildQueryString;
5
+ /**
6
+ * Build a query string from an object of key-value pairs.
7
+ * Omits undefined/null values. Returns empty string if no params.
8
+ *
9
+ * @returns Query string WITH leading '?' (or empty string).
10
+ */
11
+ function buildQueryString(params) {
12
+ const parts = [];
13
+ for (const [key, value] of Object.entries(params)) {
14
+ if (value === undefined || value === null || value === '')
15
+ continue;
16
+ parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
17
+ }
18
+ return parts.length > 0 ? `?${parts.join('&')}` : '';
19
+ }
20
+ //# sourceMappingURL=querystring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querystring.js","sourceRoot":"","sources":["../../src/querystring.ts"],"names":[],"mappings":";AAAA,uEAAuE;;AAQvE,4CAWC;AAjBD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,MAAoE;IAEpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QACpE,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { HttpClient } from './net/HttpClient.js';
2
+ import type { RetryConfig } from './retry.js';
3
+ export interface RequestOptions {
4
+ /** Idempotency key for mutating requests. Reused across retries. */
5
+ idempotencyKey?: string;
6
+ /** Per-request timeout override (ms). */
7
+ timeout?: number;
8
+ /** Per-request max retries override. */
9
+ maxRetries?: number;
10
+ }
11
+ /** Response metadata attached to every successful API result. */
12
+ export interface ResponseMeta {
13
+ status: number;
14
+ headers: Record<string, string>;
15
+ requestId: string;
16
+ }
17
+ /**
18
+ * Successful API response — the deserialized body `T` extended with
19
+ * non-enumerable `_response` metadata.
20
+ */
21
+ export type ApiResponse<T> = T & {
22
+ _response: ResponseMeta;
23
+ };
24
+ /**
25
+ * Core HTTP engine. Handles:
26
+ * - Header construction (auth, content-type, idempotency)
27
+ * - JSON serialization / deserialization
28
+ * - Retry loop with exponential backoff + jitter
29
+ * - Error mapping (HTTP status → PagciError subclass)
30
+ */
31
+ export declare class RequestSender {
32
+ private readonly apiKey;
33
+ private readonly baseUrl;
34
+ private readonly httpClient;
35
+ private readonly retryConfig;
36
+ private readonly defaultTimeout;
37
+ constructor(apiKey: string, baseUrl: string, httpClient: HttpClient, retryConfig: RetryConfig, defaultTimeout: number);
38
+ request<T>(method: string, path: string, body?: unknown, options?: RequestOptions): Promise<ApiResponse<T>>;
39
+ }
40
+ //# sourceMappingURL=requestSender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestSender.d.ts","sourceRoot":"","sources":["../../src/requestSender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAe9C,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC;AAQ7D;;;;;;GAMG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,MAAM;IAGnC,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CA8H3B"}