@vonpay/checkout-cli 0.12.0 → 0.14.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 (113) hide show
  1. package/dist/index.js +2397 -12
  2. package/package.json +6 -4
  3. package/dist/app-info.d.ts +0 -5
  4. package/dist/app-info.d.ts.map +0 -1
  5. package/dist/app-info.js +0 -11
  6. package/dist/app-info.js.map +0 -1
  7. package/dist/client-factory.d.ts +0 -10
  8. package/dist/client-factory.d.ts.map +0 -1
  9. package/dist/client-factory.js +0 -31
  10. package/dist/client-factory.js.map +0 -1
  11. package/dist/commands/capabilities.d.ts +0 -15
  12. package/dist/commands/capabilities.d.ts.map +0 -1
  13. package/dist/commands/capabilities.js +0 -99
  14. package/dist/commands/capabilities.js.map +0 -1
  15. package/dist/commands/checkout.d.ts +0 -3
  16. package/dist/commands/checkout.d.ts.map +0 -1
  17. package/dist/commands/checkout.js +0 -39
  18. package/dist/commands/checkout.js.map +0 -1
  19. package/dist/commands/doctor.d.ts +0 -59
  20. package/dist/commands/doctor.d.ts.map +0 -1
  21. package/dist/commands/doctor.js +0 -366
  22. package/dist/commands/doctor.js.map +0 -1
  23. package/dist/commands/health.d.ts +0 -3
  24. package/dist/commands/health.d.ts.map +0 -1
  25. package/dist/commands/health.js +0 -52
  26. package/dist/commands/health.js.map +0 -1
  27. package/dist/commands/init.d.ts +0 -10
  28. package/dist/commands/init.d.ts.map +0 -1
  29. package/dist/commands/init.js +0 -112
  30. package/dist/commands/init.js.map +0 -1
  31. package/dist/commands/listen.d.ts +0 -19
  32. package/dist/commands/listen.d.ts.map +0 -1
  33. package/dist/commands/listen.js +0 -249
  34. package/dist/commands/listen.js.map +0 -1
  35. package/dist/commands/login.d.ts +0 -27
  36. package/dist/commands/login.d.ts.map +0 -1
  37. package/dist/commands/login.js +0 -75
  38. package/dist/commands/login.js.map +0 -1
  39. package/dist/commands/logout.d.ts +0 -3
  40. package/dist/commands/logout.d.ts.map +0 -1
  41. package/dist/commands/logout.js +0 -23
  42. package/dist/commands/logout.js.map +0 -1
  43. package/dist/commands/payment-intents.d.ts +0 -62
  44. package/dist/commands/payment-intents.d.ts.map +0 -1
  45. package/dist/commands/payment-intents.js +0 -271
  46. package/dist/commands/payment-intents.js.map +0 -1
  47. package/dist/commands/refunds.d.ts +0 -40
  48. package/dist/commands/refunds.d.ts.map +0 -1
  49. package/dist/commands/refunds.js +0 -142
  50. package/dist/commands/refunds.js.map +0 -1
  51. package/dist/commands/sessions.d.ts +0 -16
  52. package/dist/commands/sessions.d.ts.map +0 -1
  53. package/dist/commands/sessions.js +0 -152
  54. package/dist/commands/sessions.js.map +0 -1
  55. package/dist/commands/tokens.d.ts +0 -3
  56. package/dist/commands/tokens.d.ts.map +0 -1
  57. package/dist/commands/tokens.js +0 -73
  58. package/dist/commands/tokens.js.map +0 -1
  59. package/dist/commands/trigger.d.ts +0 -38
  60. package/dist/commands/trigger.d.ts.map +0 -1
  61. package/dist/commands/trigger.js +0 -246
  62. package/dist/commands/trigger.js.map +0 -1
  63. package/dist/config.d.ts +0 -22
  64. package/dist/config.d.ts.map +0 -1
  65. package/dist/config.js +0 -72
  66. package/dist/config.js.map +0 -1
  67. package/dist/index.d.ts +0 -3
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/index.js.map +0 -1
  70. package/dist/utils/errors.d.ts +0 -80
  71. package/dist/utils/errors.d.ts.map +0 -1
  72. package/dist/utils/errors.js +0 -179
  73. package/dist/utils/errors.js.map +0 -1
  74. package/dist/utils/forward-to.d.ts +0 -38
  75. package/dist/utils/forward-to.d.ts.map +0 -1
  76. package/dist/utils/forward-to.js +0 -92
  77. package/dist/utils/forward-to.js.map +0 -1
  78. package/dist/utils/json-errors.d.ts +0 -16
  79. package/dist/utils/json-errors.d.ts.map +0 -1
  80. package/dist/utils/json-errors.js +0 -41
  81. package/dist/utils/json-errors.js.map +0 -1
  82. package/dist/utils/listen-forward.d.ts +0 -49
  83. package/dist/utils/listen-forward.d.ts.map +0 -1
  84. package/dist/utils/listen-forward.js +0 -113
  85. package/dist/utils/listen-forward.js.map +0 -1
  86. package/dist/utils/listen-output.d.ts +0 -52
  87. package/dist/utils/listen-output.d.ts.map +0 -1
  88. package/dist/utils/listen-output.js +0 -85
  89. package/dist/utils/listen-output.js.map +0 -1
  90. package/dist/utils/live-key.d.ts +0 -22
  91. package/dist/utils/live-key.d.ts.map +0 -1
  92. package/dist/utils/live-key.js +0 -37
  93. package/dist/utils/live-key.js.map +0 -1
  94. package/dist/utils/metadata.d.ts +0 -2
  95. package/dist/utils/metadata.d.ts.map +0 -1
  96. package/dist/utils/metadata.js +0 -31
  97. package/dist/utils/metadata.js.map +0 -1
  98. package/dist/utils/sanitize.d.ts +0 -4
  99. package/dist/utils/sanitize.d.ts.map +0 -1
  100. package/dist/utils/sanitize.js +0 -18
  101. package/dist/utils/sanitize.js.map +0 -1
  102. package/dist/utils/spinner.d.ts +0 -15
  103. package/dist/utils/spinner.d.ts.map +0 -1
  104. package/dist/utils/spinner.js +0 -18
  105. package/dist/utils/spinner.js.map +0 -1
  106. package/dist/utils/sse-consumer.d.ts +0 -81
  107. package/dist/utils/sse-consumer.d.ts.map +0 -1
  108. package/dist/utils/sse-consumer.js +0 -172
  109. package/dist/utils/sse-consumer.js.map +0 -1
  110. package/dist/utils/sse-parser.d.ts +0 -63
  111. package/dist/utils/sse-parser.d.ts.map +0 -1
  112. package/dist/utils/sse-parser.js +0 -149
  113. package/dist/utils/sse-parser.js.map +0 -1
@@ -1,149 +0,0 @@
1
- /**
2
- * Pure incremental parser for the Server-Sent Events wire format
3
- * (WHATWG HTML §9.2.6 "Parsing an event stream").
4
- *
5
- * Decoupled from I/O so the consumer can drive it from any byte source
6
- * (fetch ReadableStream, Node Readable, in-memory buffer in tests).
7
- *
8
- * Spec details that are easy to get wrong:
9
- * - Frame separator is one blank line — any of `\n\n`, `\r\n\r\n`, `\r\r`.
10
- * - A line starting with `:` is a comment — ignored (used as heartbeat).
11
- * - `field: value` — the single space after `:` is stripped if present.
12
- * - Multiple `data:` lines within a frame concatenate with `\n` between them.
13
- * - `id:` sets the parser's lastEventId for the NEXT and subsequent
14
- * dispatched events (sticky across frames until overridden).
15
- * - `event:` defaults to `"message"` when absent.
16
- * - `retry:` is reported on the event but the consumer decides whether
17
- * to honor it (we expose it; consumer caps with its own backoff).
18
- * - Unknown fields are ignored — additive evolution is safe.
19
- *
20
- * Stateful only in `lastEventId` (per spec). Caller drives by repeatedly
21
- * calling feed(chunk) on incoming bytes; events come back per call.
22
- */
23
- const FRAME_SEPARATOR_RE = /\r\n\r\n|\r\r|\n\n/;
24
- const LINE_SEPARATOR_RE = /\r\n|\r|\n/;
25
- /**
26
- * Hard cap on the in-flight buffer. A malicious or buggy SSE source
27
- * could otherwise stream bytes without ever emitting a frame separator
28
- * and grow the buffer until OOM. 1 MB is comfortably larger than any
29
- * realistic single webhook-attempt frame (low-tens-of-KB even with
30
- * deep metadata) but small enough that a runaway can never crash a
31
- * developer's CLI. Tunable via the constructor option.
32
- */
33
- const DEFAULT_MAX_BUFFER_BYTES = 1_048_576;
34
- export class SseBufferOverflowError extends Error {
35
- cap;
36
- constructor(cap) {
37
- super(`SSE frame buffer exceeded ${cap} bytes — closing stream`);
38
- this.cap = cap;
39
- this.name = "SseBufferOverflowError";
40
- }
41
- }
42
- export class SseParser {
43
- buffer = "";
44
- lastEventId;
45
- maxBufferBytes;
46
- constructor(options = {}) {
47
- this.maxBufferBytes = options.maxBufferBytes ?? DEFAULT_MAX_BUFFER_BYTES;
48
- }
49
- /**
50
- * Feed a chunk of decoded text. Returns any events that completed within
51
- * this chunk. The remainder (partial frame) is held internally and
52
- * concatenated with the next chunk.
53
- *
54
- * Throws {@link SseBufferOverflowError} when the in-flight buffer
55
- * exceeds `maxBufferBytes` — the consumer's reconnect-on-error loop
56
- * recovers by discarding the buffer and re-establishing the
57
- * connection.
58
- */
59
- feed(chunk) {
60
- if (this.buffer.length + chunk.length > this.maxBufferBytes) {
61
- this.buffer = "";
62
- throw new SseBufferOverflowError(this.maxBufferBytes);
63
- }
64
- this.buffer += chunk;
65
- const out = [];
66
- let match = FRAME_SEPARATOR_RE.exec(this.buffer);
67
- while (match) {
68
- const frame = this.buffer.slice(0, match.index);
69
- this.buffer = this.buffer.slice(match.index + match[0].length);
70
- const event = this.parseFrame(frame);
71
- if (event)
72
- out.push(event);
73
- match = FRAME_SEPARATOR_RE.exec(this.buffer);
74
- }
75
- return out;
76
- }
77
- /** Drain any in-flight buffer as a final event. Used when the source closes mid-frame and the consumer wants to surface the partial. Returns at most one event. Most callers don't need this — for a well-behaved server-side stream the parser never holds a complete trailing event without a separator. */
78
- flush() {
79
- if (this.buffer.length === 0)
80
- return undefined;
81
- const frame = this.buffer;
82
- this.buffer = "";
83
- return this.parseFrame(frame);
84
- }
85
- parseFrame(frame) {
86
- const lines = frame.split(LINE_SEPARATOR_RE);
87
- let type = "message";
88
- const dataLines = [];
89
- let frameId = undefined;
90
- let frameRetry = undefined;
91
- let sawAnyField = false;
92
- for (const line of lines) {
93
- if (line.length === 0)
94
- continue;
95
- if (line.startsWith(":"))
96
- continue; // comment
97
- const colonIdx = line.indexOf(":");
98
- const field = colonIdx === -1 ? line : line.slice(0, colonIdx);
99
- let value = colonIdx === -1
100
- ? ""
101
- : line.slice(colonIdx + 1).replace(/^ /, ""); // strip single leading space per spec
102
- sawAnyField = true;
103
- switch (field) {
104
- case "event":
105
- if (value.length > 0)
106
- type = value;
107
- break;
108
- case "data":
109
- dataLines.push(value);
110
- break;
111
- case "id":
112
- // Per spec: id cannot contain NUL. We additionally cap length —
113
- // an attacker who controls the SSE source could otherwise grow
114
- // lastEventId without bound across reconnects.
115
- if (!value.includes("\0") && value.length <= 256) {
116
- frameId = value;
117
- this.lastEventId = value;
118
- }
119
- break;
120
- case "retry":
121
- if (/^\d+$/.test(value)) {
122
- frameRetry = parseInt(value, 10);
123
- }
124
- break;
125
- // unknown fields are ignored per spec
126
- }
127
- }
128
- // Per spec: a frame with no data fields is not dispatched, even if it
129
- // had an `id:` (id is sticky but the frame itself emits nothing).
130
- if (dataLines.length === 0) {
131
- // If the frame had ONLY comments / heartbeat / id, we still consumed
132
- // the frame separator — return undefined so the consumer doesn't see
133
- // a noise event. lastEventId is already updated above.
134
- void sawAnyField;
135
- return undefined;
136
- }
137
- return {
138
- type,
139
- data: dataLines.join("\n"),
140
- lastEventId: frameId ?? this.lastEventId,
141
- retry: frameRetry,
142
- };
143
- }
144
- /** Current sticky id. Consumer uses this for the Last-Event-ID header on reconnect. */
145
- getLastEventId() {
146
- return this.lastEventId;
147
- }
148
- }
149
- //# sourceMappingURL=sse-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sse-parser.js","sourceRoot":"","sources":["../../src/utils/sse-parser.ts"],"names":[],"mappings":"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"}