@pagci/node 0.1.0 → 0.1.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { Pagci } from './client.js';
2
- export type { PagciConfig, WebhookEvent } from './client.js';
2
+ export type { PagciConfig, WebhookEvent, PaymentConfirmedEvent, PaymentFailedEvent, PaymentCancelledEvent, PaymentExpiredEvent, PaymentDisputeEvent, WithdrawalSettledEvent, WithdrawalFailedEvent, RefundCompletedEvent, } from './client.js';
3
3
  export { PagciError, AuthenticationError, ForbiddenError, NotFoundError, ValidationError, ConflictError, InsufficientBalanceError, RateLimitError, ApiError, ConnectionError, TimeoutError, SignatureVerificationError, errorFromResponse, } from './errors.js';
4
4
  export type { ApiResponse, RequestOptions, ResponseMeta } from './requestSender.js';
5
5
  export type { RetryConfig } from './retry.js';
@@ -8,6 +8,8 @@ export { NodeCryptoProvider } from './crypto/NodeCryptoProvider.js';
8
8
  export type { HttpClient, HttpClientResponse } from './net/HttpClient.js';
9
9
  export { NodeHttpClient } from './net/NodeHttpClient.js';
10
10
  export { generateIdempotencyKey } from './idempotency.js';
11
+ export { listen, printQR } from './listen.js';
12
+ export type { ListenOptions, ListenSession, IncomingWebhook } from './listen.js';
11
13
  export { Page } from './pagination.js';
12
14
  export { PaymentsResource } from './resources/payments.js';
13
15
  export { WithdrawalsResource } from './resources/withdrawals.js';
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,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,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGjF,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"}
package/dist/esm/index.js CHANGED
@@ -6,6 +6,8 @@ export { NodeCryptoProvider } from './crypto/NodeCryptoProvider.js';
6
6
  export { NodeHttpClient } from './net/NodeHttpClient.js';
7
7
  // ── Utilities ────────────────────────────────────────────────────────
8
8
  export { generateIdempotencyKey } from './idempotency.js';
9
+ // ── Webhook Listener (dev tool) ─────────────────────────────────────
10
+ export { listen, printQR } from './listen.js';
9
11
  // ── Pagination ──────────────────────────────────────────────────────
10
12
  export { Page } from './pagination.js';
11
13
  // ── Resource classes ────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,wEAAwE;AACxE,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;AAUrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,uEAAuE;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,uEAAuE;AACvE,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;AAmEvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAcpC,wEAAwE;AACxE,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;AAUrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,uEAAuE;AACvE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG9C,uEAAuE;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,uEAAuE;AACvE,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;AAmEvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * `pagci.listen()` — Local webhook listener for development.
3
+ *
4
+ * Starts a local HTTP server, creates a public tunnel (localtunnel),
5
+ * and returns the tunnel URL. Use it as `overwrite_webhook_url` when
6
+ * creating payments — webhooks will arrive at your local server.
7
+ *
8
+ * Usage:
9
+ * const session = await listen('api_key', { port: 3000 });
10
+ * console.log(session.url); // https://xyz.loca.lt
11
+ *
12
+ * CLI:
13
+ * npx @pagci/node listen --port 3000
14
+ *
15
+ * Requires `localtunnel` as optional peer dependency:
16
+ * npm install localtunnel
17
+ */
18
+ export interface ListenOptions {
19
+ /** Local port to receive webhooks. Default: 4400 */
20
+ port?: number;
21
+ /** Callback for each received event. */
22
+ onEvent?: (event: IncomingWebhook) => void;
23
+ /** Suppress log output. Default: false */
24
+ silent?: boolean;
25
+ /** Show full headers and JSON body for each event. Default: false */
26
+ verbose?: boolean;
27
+ }
28
+ export interface IncomingWebhook {
29
+ event: string;
30
+ resource_type: string;
31
+ data: unknown;
32
+ balances?: Record<string, unknown>;
33
+ account_balance?: unknown;
34
+ /** Raw JSON body */
35
+ raw: string;
36
+ /** Headers from the webhook request */
37
+ headers: Record<string, string | string[] | undefined>;
38
+ }
39
+ export interface ListenSession {
40
+ /** Public tunnel URL — use as overwrite_webhook_url in payments.create() */
41
+ url: string;
42
+ /** Local port the server is running on */
43
+ port: number;
44
+ /** Stop the listener and close the tunnel */
45
+ close: () => Promise<void>;
46
+ }
47
+ /**
48
+ * Print a QR code in the terminal (requires optional qrcode-terminal package).
49
+ * Falls back to a hint message if not installed.
50
+ */
51
+ export declare function printQR(text: string): Promise<void>;
52
+ export declare function listen(_apiKey: string, options?: ListenOptions): Promise<ListenSession>;
53
+ //# sourceMappingURL=listen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/listen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoBH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAyED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezD;AA8LD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAoDxB"}
@@ -0,0 +1,335 @@
1
+ /**
2
+ * `pagci.listen()` — Local webhook listener for development.
3
+ *
4
+ * Starts a local HTTP server, creates a public tunnel (localtunnel),
5
+ * and returns the tunnel URL. Use it as `overwrite_webhook_url` when
6
+ * creating payments — webhooks will arrive at your local server.
7
+ *
8
+ * Usage:
9
+ * const session = await listen('api_key', { port: 3000 });
10
+ * console.log(session.url); // https://xyz.loca.lt
11
+ *
12
+ * CLI:
13
+ * npx @pagci/node listen --port 3000
14
+ *
15
+ * Requires `localtunnel` as optional peer dependency:
16
+ * npm install localtunnel
17
+ */
18
+ import * as http from 'node:http';
19
+ // ── ANSI Colors (zero deps) ─────────────────────────────────────────
20
+ const c = {
21
+ reset: '\x1b[0m',
22
+ bold: '\x1b[1m',
23
+ dim: '\x1b[2m',
24
+ green: '\x1b[32m',
25
+ red: '\x1b[31m',
26
+ yellow: '\x1b[33m',
27
+ cyan: '\x1b[36m',
28
+ gray: '\x1b[90m',
29
+ white: '\x1b[37m',
30
+ };
31
+ // ── Pretty Output ────────────────────────────────────────────────────
32
+ function printBanner(url, port, provider) {
33
+ const line = '─'.repeat(56);
34
+ console.log();
35
+ console.log(` ${c.cyan}${c.bold}⚡ PAGCI${c.reset} ${c.dim}Webhook Listener${c.reset}`);
36
+ console.log(` ${c.gray}${line}${c.reset}`);
37
+ console.log(` ${c.gray}Tunnel${c.reset} ${c.white}${url}${c.reset}`);
38
+ console.log(` ${c.gray}Forward${c.reset} ${c.white}http://localhost:${port}${c.reset}`);
39
+ console.log(` ${c.gray}Provider${c.reset} ${c.white}${provider}${c.reset}`);
40
+ console.log(` ${c.gray}Status${c.reset} ${c.green}● Ready${c.reset}`);
41
+ console.log(` ${c.gray}${line}${c.reset}`);
42
+ console.log();
43
+ console.log(` ${c.dim}Use this URL as overwrite_webhook_url when creating payments.${c.reset}`);
44
+ console.log(` ${c.dim}Press Ctrl+C to stop.${c.reset}`);
45
+ console.log();
46
+ }
47
+ function printEvent(event, resourceId, status, ms) {
48
+ const time = new Date().toISOString().slice(11, 19);
49
+ const eventPadded = event.padEnd(24);
50
+ const eventColor = event.includes('failed') || event.includes('dispute')
51
+ ? c.red
52
+ : event.includes('confirmed') || event.includes('settled') || event.includes('completed')
53
+ ? c.green
54
+ : c.yellow;
55
+ const statusStr = status >= 200 && status < 300
56
+ ? `${c.green}${status}${c.reset}`
57
+ : `${c.red}${status}${c.reset}`;
58
+ const id = resourceId ? `${c.dim}${resourceId.slice(0, 20)}${c.reset}` : '';
59
+ console.log(` ${c.gray}${time}${c.reset} ${eventColor}→${c.reset} ${c.bold}${eventPadded}${c.reset} ${id} ${statusStr} ${c.dim}${ms}ms${c.reset}`);
60
+ }
61
+ function printVerbose(raw, headers) {
62
+ // Headers
63
+ const relevantHeaders = ['x-webhook-signature', 'x-webhook-timestamp', 'x-webhook-id', 'x-webhook-event', 'content-type'];
64
+ const headerEntries = Object.entries(headers)
65
+ .filter(([k]) => relevantHeaders.includes(k.toLowerCase()))
66
+ .sort(([a], [b]) => a.localeCompare(b));
67
+ if (headerEntries.length > 0) {
68
+ console.log(` ${c.gray}┌─ Headers${c.reset}`);
69
+ for (const [key, val] of headerEntries) {
70
+ const value = Array.isArray(val) ? val.join(', ') : val ?? '';
71
+ console.log(` ${c.gray}│${c.reset} ${c.cyan}${key}${c.reset}: ${c.dim}${value}${c.reset}`);
72
+ }
73
+ console.log(` ${c.gray}│${c.reset}`);
74
+ }
75
+ // Body (pretty JSON, indented)
76
+ try {
77
+ const parsed = JSON.parse(raw);
78
+ const pretty = JSON.stringify(parsed, null, 2);
79
+ const lines = pretty.split('\n');
80
+ console.log(` ${c.gray}├─ Body${c.reset}`);
81
+ for (const line of lines) {
82
+ console.log(` ${c.gray}│${c.reset} ${c.dim}${line}${c.reset}`);
83
+ }
84
+ console.log(` ${c.gray}└──${c.reset}`);
85
+ }
86
+ catch {
87
+ console.log(` ${c.gray}├─ Body (raw)${c.reset}`);
88
+ console.log(` ${c.gray}│${c.reset} ${c.dim}${raw.slice(0, 500)}${c.reset}`);
89
+ console.log(` ${c.gray}└──${c.reset}`);
90
+ }
91
+ console.log();
92
+ }
93
+ /**
94
+ * Print a QR code in the terminal (requires optional qrcode-terminal package).
95
+ * Falls back to a hint message if not installed.
96
+ */
97
+ export async function printQR(text) {
98
+ try {
99
+ const qrt = await import(/* webpackIgnore: true */ 'qrcode-terminal');
100
+ const generate = (qrt.default?.generate ?? qrt.generate);
101
+ await new Promise((resolve) => {
102
+ generate(text, { small: true }, (code) => {
103
+ const indented = code.split('\n').map((l) => ` ${l}`).join('\n');
104
+ console.log(indented);
105
+ resolve();
106
+ });
107
+ });
108
+ }
109
+ catch {
110
+ console.log(` ${c.dim}(npm i qrcode-terminal para QR no terminal)${c.reset}`);
111
+ }
112
+ }
113
+ // ── Tunnel providers (tried in order of ease of install) ─────────────
114
+ import { execSync, spawn } from 'node:child_process';
115
+ /**
116
+ * Tries tunnel providers in order:
117
+ * 1. localtunnel — npm install localtunnel (easiest, no binary)
118
+ * 2. cloudflared — quick tunnel, no account needed (most reliable)
119
+ * 3. ngrok — requires free account + authtoken
120
+ *
121
+ * Uses whichever is available first.
122
+ */
123
+ async function createTunnel(port, silent) {
124
+ // 1. localtunnel (npm package — easiest to install)
125
+ const lt = await tryLocaltunnel(port);
126
+ if (lt) {
127
+ if (!silent)
128
+ printProvider('localtunnel');
129
+ return lt;
130
+ }
131
+ // 2. cloudflared (binary — most reliable)
132
+ const cf = await tryCloudflared(port);
133
+ if (cf) {
134
+ if (!silent)
135
+ printProvider('cloudflared');
136
+ return cf;
137
+ }
138
+ // 3. ngrok (binary — requires account)
139
+ const ng = await tryNgrok(port);
140
+ if (ng) {
141
+ if (!silent)
142
+ printProvider('ngrok');
143
+ return ng;
144
+ }
145
+ throw new Error(`No tunnel provider found. Install one:\n\n` +
146
+ ` ${c.bold}Option 1 — localtunnel${c.reset} ${c.dim}(easiest, no binary)${c.reset}\n` +
147
+ ` npm install localtunnel\n\n` +
148
+ ` ${c.bold}Option 2 — cloudflared${c.reset} ${c.dim}(most reliable, no account)${c.reset}\n` +
149
+ ` brew install cloudflared ${c.dim}# macOS${c.reset}\n` +
150
+ ` choco install cloudflared ${c.dim}# Windows${c.reset}\n` +
151
+ ` sudo apt install cloudflared ${c.dim}# Debian/Ubuntu${c.reset}\n\n` +
152
+ ` ${c.bold}Option 3 — ngrok${c.reset} ${c.dim}(requires free account)${c.reset}\n` +
153
+ ` brew install ngrok ${c.dim}# macOS${c.reset}\n` +
154
+ ` choco install ngrok ${c.dim}# Windows${c.reset}\n` +
155
+ ` snap install ngrok ${c.dim}# Linux${c.reset}\n` +
156
+ ` ngrok config add-authtoken <token>${c.dim}# one-time setup${c.reset}\n`);
157
+ }
158
+ function printProvider(name) {
159
+ console.log(` ${c.gray}Provider${c.reset} ${c.white}${name}${c.reset}`);
160
+ }
161
+ // ── Provider: localtunnel ────────────────────────────────────────────
162
+ async function tryLocaltunnel(port) {
163
+ try {
164
+ const ltModule = await import(/* webpackIgnore: true */ 'localtunnel');
165
+ const lt = ltModule.default ?? ltModule;
166
+ const tunnel = await lt({ port });
167
+ return {
168
+ url: tunnel.url,
169
+ provider: 'localtunnel',
170
+ close: () => new Promise((r) => { tunnel.close(); r(); }),
171
+ };
172
+ }
173
+ catch {
174
+ return null;
175
+ }
176
+ }
177
+ // ── Provider: cloudflared ────────────────────────────────────────────
178
+ async function tryCloudflared(port) {
179
+ // Check if cloudflared binary exists
180
+ try {
181
+ execSync('cloudflared --version', { stdio: 'ignore' });
182
+ }
183
+ catch {
184
+ return null;
185
+ }
186
+ return new Promise((resolve) => {
187
+ const proc = spawn('cloudflared', ['tunnel', '--url', `http://localhost:${port}`, '--no-autoupdate'], { stdio: ['ignore', 'pipe', 'pipe'] });
188
+ let resolved = false;
189
+ const timeout = setTimeout(() => {
190
+ if (!resolved) {
191
+ resolved = true;
192
+ proc.kill();
193
+ resolve(null);
194
+ }
195
+ }, 15_000);
196
+ const onData = (chunk) => {
197
+ const line = chunk.toString();
198
+ // cloudflared prints the URL to stderr like: "... https://xxx.trycloudflare.com ..."
199
+ const match = /https:\/\/[a-z0-9-]+\.trycloudflare\.com/i.exec(line);
200
+ if (match && !resolved) {
201
+ resolved = true;
202
+ clearTimeout(timeout);
203
+ resolve({
204
+ url: match[0],
205
+ provider: 'cloudflared',
206
+ close: () => new Promise((r) => { proc.kill(); proc.on('close', () => r()); }),
207
+ });
208
+ }
209
+ };
210
+ proc.stdout?.on('data', onData);
211
+ proc.stderr?.on('data', onData);
212
+ proc.on('error', () => { if (!resolved) {
213
+ resolved = true;
214
+ clearTimeout(timeout);
215
+ resolve(null);
216
+ } });
217
+ proc.on('close', () => { if (!resolved) {
218
+ resolved = true;
219
+ clearTimeout(timeout);
220
+ resolve(null);
221
+ } });
222
+ });
223
+ }
224
+ // ── Provider: ngrok ──────────────────────────────────────────────────
225
+ async function tryNgrok(port) {
226
+ try {
227
+ execSync('ngrok version', { stdio: 'ignore' });
228
+ }
229
+ catch {
230
+ return null;
231
+ }
232
+ return new Promise((resolve) => {
233
+ const proc = spawn('ngrok', ['http', String(port), '--log', 'stdout', '--log-format', 'json'], { stdio: ['ignore', 'pipe', 'pipe'] });
234
+ let resolved = false;
235
+ const timeout = setTimeout(() => {
236
+ if (!resolved) {
237
+ resolved = true;
238
+ proc.kill();
239
+ resolve(null);
240
+ }
241
+ }, 15_000);
242
+ proc.stdout?.on('data', (chunk) => {
243
+ const line = chunk.toString();
244
+ // ngrok JSON logs contain "url":"https://xxx.ngrok-free.app"
245
+ const match = /"url":"(https:\/\/[^"]+)"/.exec(line);
246
+ if (match?.[1] && !resolved) {
247
+ resolved = true;
248
+ clearTimeout(timeout);
249
+ resolve({
250
+ url: match[1],
251
+ provider: 'ngrok',
252
+ close: () => new Promise((r) => { proc.kill(); proc.on('close', () => r()); }),
253
+ });
254
+ }
255
+ });
256
+ proc.on('error', () => { if (!resolved) {
257
+ resolved = true;
258
+ clearTimeout(timeout);
259
+ resolve(null);
260
+ } });
261
+ proc.on('close', () => { if (!resolved) {
262
+ resolved = true;
263
+ clearTimeout(timeout);
264
+ resolve(null);
265
+ } });
266
+ });
267
+ }
268
+ // ── Local HTTP Server ────────────────────────────────────────────────
269
+ function startServer(port, onRequest) {
270
+ const server = http.createServer((req, res) => {
271
+ if (req.method !== 'POST') {
272
+ res.writeHead(405).end();
273
+ return;
274
+ }
275
+ const chunks = [];
276
+ req.on('data', (chunk) => chunks.push(chunk));
277
+ req.on('end', () => {
278
+ const body = Buffer.concat(chunks).toString('utf8');
279
+ const status = onRequest(body, req.headers);
280
+ res.writeHead(status, { 'Content-Type': 'application/json' });
281
+ res.end(JSON.stringify({ received: true }));
282
+ });
283
+ });
284
+ server.listen(port);
285
+ return server;
286
+ }
287
+ // ── Main ─────────────────────────────────────────────────────────────
288
+ export async function listen(_apiKey, options = {}) {
289
+ const port = options.port ?? 4400;
290
+ const { onEvent, silent = false, verbose = false } = options;
291
+ // Start local HTTP server to receive webhook POSTs
292
+ const server = startServer(port, (body, headers) => {
293
+ const start = Date.now();
294
+ try {
295
+ const payload = JSON.parse(body);
296
+ payload.raw = body;
297
+ payload.headers = headers;
298
+ onEvent?.(payload);
299
+ const resourceId = payload.data?.['id'] ?? '';
300
+ const ms = Date.now() - start;
301
+ if (!silent) {
302
+ printEvent(payload.event, resourceId, 200, ms);
303
+ if (verbose) {
304
+ printVerbose(body, headers);
305
+ }
306
+ }
307
+ return 200;
308
+ }
309
+ catch {
310
+ if (!silent) {
311
+ console.log(` ${c.red}✗${c.reset} ${c.dim}Failed to parse webhook body${c.reset}`);
312
+ }
313
+ return 400;
314
+ }
315
+ });
316
+ // Create public tunnel
317
+ const tunnel = await createTunnel(port, silent);
318
+ if (!silent) {
319
+ printBanner(tunnel.url, port, tunnel.provider);
320
+ }
321
+ return {
322
+ url: tunnel.url,
323
+ port,
324
+ close: async () => {
325
+ await tunnel.close();
326
+ await new Promise((resolve) => server.close(() => resolve()));
327
+ if (!silent) {
328
+ console.log();
329
+ console.log(` ${c.dim}Listener stopped.${c.reset}`);
330
+ console.log();
331
+ }
332
+ },
333
+ };
334
+ }
335
+ //# sourceMappingURL=listen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/listen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagci/node",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Official PAGCI Node.js SDK — PIX payments, withdrawals, refunds, and webhooks",
5
5
  "license": "MIT",
6
6
  "author": "PAGCI",
@@ -27,6 +27,9 @@
27
27
  }
28
28
  }
29
29
  },
30
+ "bin": {
31
+ "pagci": "./dist/esm/cli.js"
32
+ },
30
33
  "files": [
31
34
  "dist"
32
35
  ],
@@ -41,9 +44,20 @@
41
44
  "prepublishOnly": "npm run typecheck && npm test && npm run build"
42
45
  },
43
46
  "devDependencies": {
47
+ "@types/node": "^22.0.0",
44
48
  "typescript": "^5.7.0",
45
- "vitest": "^3.0.0",
46
- "@types/node": "^22.0.0"
49
+ "vitest": "^3.0.0"
50
+ },
51
+ "peerDependencies": {
52
+ "localtunnel": "^2.0.0",
53
+ "qrcode-terminal": "^0.12.0"
47
54
  },
48
- "dependencies": {}
55
+ "peerDependenciesMeta": {
56
+ "localtunnel": {
57
+ "optional": true
58
+ },
59
+ "qrcode-terminal": {
60
+ "optional": true
61
+ }
62
+ }
49
63
  }