@genesis-tech/genesispay-seller 0.13.2 → 1.5.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 (78) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/README.md +719 -91
  3. package/dist/checkout-documents.d.ts +105 -0
  4. package/dist/checkout-documents.d.ts.map +1 -0
  5. package/dist/checkout-documents.js +171 -0
  6. package/dist/checkout-documents.js.map +1 -0
  7. package/dist/checkout-return.d.ts +5 -5
  8. package/dist/checkout-return.d.ts.map +1 -1
  9. package/dist/checkout-return.js +3 -2
  10. package/dist/checkout-return.js.map +1 -1
  11. package/dist/client.d.ts +57 -7
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/client.js +100 -10
  14. package/dist/client.js.map +1 -1
  15. package/dist/contract-mandates.d.ts +39 -0
  16. package/dist/contract-mandates.d.ts.map +1 -0
  17. package/dist/contract-mandates.js +98 -0
  18. package/dist/contract-mandates.js.map +1 -0
  19. package/dist/contract-usage.d.ts +29 -0
  20. package/dist/contract-usage.d.ts.map +1 -0
  21. package/dist/contract-usage.js +92 -0
  22. package/dist/contract-usage.js.map +1 -0
  23. package/dist/errors.d.ts +71 -5
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +124 -13
  26. package/dist/errors.js.map +1 -1
  27. package/dist/fulfillment-attempts.d.ts +29 -0
  28. package/dist/fulfillment-attempts.d.ts.map +1 -0
  29. package/dist/fulfillment-attempts.js +71 -0
  30. package/dist/fulfillment-attempts.js.map +1 -0
  31. package/dist/fulfillment.d.ts +152 -0
  32. package/dist/fulfillment.d.ts.map +1 -0
  33. package/dist/fulfillment.js +810 -0
  34. package/dist/fulfillment.js.map +1 -0
  35. package/dist/genesispay-settlement.d.ts +4 -2
  36. package/dist/genesispay-settlement.d.ts.map +1 -1
  37. package/dist/genesispay-settlement.js +412 -15
  38. package/dist/genesispay-settlement.js.map +1 -1
  39. package/dist/index.d.ts +11 -5
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +7 -4
  42. package/dist/index.js.map +1 -1
  43. package/dist/invoices.d.ts +31 -0
  44. package/dist/invoices.d.ts.map +1 -1
  45. package/dist/invoices.js +61 -2
  46. package/dist/invoices.js.map +1 -1
  47. package/dist/item-tax.d.ts +25 -0
  48. package/dist/item-tax.d.ts.map +1 -0
  49. package/dist/item-tax.js +43 -0
  50. package/dist/item-tax.js.map +1 -0
  51. package/dist/mandate-gate.d.ts +6 -1
  52. package/dist/mandate-gate.d.ts.map +1 -1
  53. package/dist/mandate-gate.js +81 -7
  54. package/dist/mandate-gate.js.map +1 -1
  55. package/dist/mandates.d.ts +21 -4
  56. package/dist/mandates.d.ts.map +1 -1
  57. package/dist/mandates.js +24 -3
  58. package/dist/mandates.js.map +1 -1
  59. package/dist/networks.d.ts.map +1 -1
  60. package/dist/networks.js +5 -4
  61. package/dist/networks.js.map +1 -1
  62. package/dist/payment-gate.d.ts +32 -1
  63. package/dist/payment-gate.d.ts.map +1 -1
  64. package/dist/payment-gate.js +275 -11
  65. package/dist/payment-gate.js.map +1 -1
  66. package/dist/products.d.ts +40 -16
  67. package/dist/products.d.ts.map +1 -1
  68. package/dist/products.js +1078 -56
  69. package/dist/products.js.map +1 -1
  70. package/dist/strict-response.d.ts +21 -0
  71. package/dist/strict-response.d.ts.map +1 -0
  72. package/dist/strict-response.js +68 -0
  73. package/dist/strict-response.js.map +1 -0
  74. package/dist/webhooks.d.ts +77 -2
  75. package/dist/webhooks.d.ts.map +1 -1
  76. package/dist/webhooks.js +20 -0
  77. package/dist/webhooks.js.map +1 -1
  78. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-usage.js","sourceRoot":"","sources":["../src/contract-usage.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,6 +1,31 @@
1
+ /** Correlation metadata carried by versioned GenesisPay API responses. */
2
+ export type GenesisPayResponseMetadata = {
3
+ requestId?: string | null;
4
+ apiVersion?: string | null;
5
+ };
1
6
  /** Missing/invalid key, unresolvable prod URL, or unreachable backend. */
2
7
  export declare class GenesisPayConfigError extends Error {
3
- constructor(message: string);
8
+ readonly requestId: string | null;
9
+ readonly apiVersion: string | null;
10
+ constructor(message: string, metadata?: GenesisPayResponseMetadata);
11
+ }
12
+ export type GenesisPayMandateChargeLocator = {
13
+ id: string;
14
+ status: "pending" | "submitted" | "settled" | "failed";
15
+ amountMinor: string;
16
+ txHash: string | null;
17
+ };
18
+ /**
19
+ * A mandate pull has durable broadcast authority but no definitive receipt yet.
20
+ * Reuse the original Idempotency-Key; never create a replacement charge.
21
+ */
22
+ export declare class GenesisPayMandateChargePendingError extends Error {
23
+ readonly status: 503;
24
+ readonly code: "charge_submitted_awaiting_confirmation";
25
+ readonly charge: GenesisPayMandateChargeLocator;
26
+ readonly requestId: string | null;
27
+ readonly apiVersion: string | null;
28
+ constructor(message: string, charge: GenesisPayMandateChargeLocator, metadata?: GenesisPayResponseMetadata);
4
29
  }
5
30
  /**
6
31
  * The requested resource does not exist (HTTP 404). Kept separate from
@@ -9,11 +34,15 @@ export declare class GenesisPayConfigError extends Error {
9
34
  * "the key is broken / the backend is unreachable".
10
35
  */
11
36
  export declare class GenesisPayNotFoundError extends Error {
12
- constructor(message: string);
37
+ readonly requestId: string | null;
38
+ readonly apiVersion: string | null;
39
+ constructor(message: string, metadata?: GenesisPayResponseMetadata);
13
40
  }
14
41
  /** Asset-integrity, mode↔network, or expectedPayTo-pin mismatch — a money-safety stop. */
15
42
  export declare class GenesisPayNetworkSafetyError extends Error {
16
- constructor(message: string);
43
+ readonly requestId: string | null;
44
+ readonly apiVersion: string | null;
45
+ constructor(message: string, metadata?: GenesisPayResponseMetadata);
17
46
  }
18
47
  /** One rejected field, as the API reports it. `path` is dot-joined ("metadata.orderId"). */
19
48
  export type GenesisPayValidationIssue = {
@@ -30,7 +59,9 @@ export type GenesisPayValidationIssue = {
30
59
  */
31
60
  export declare class GenesisPayValidationError extends Error {
32
61
  readonly issues: GenesisPayValidationIssue[];
33
- constructor(message: string, issues?: GenesisPayValidationIssue[]);
62
+ readonly requestId: string | null;
63
+ readonly apiVersion: string | null;
64
+ constructor(message: string, issues?: GenesisPayValidationIssue[], metadata?: GenesisPayResponseMetadata);
34
65
  }
35
66
  /**
36
67
  * The API key exceeded its rate limit (HTTP 429).
@@ -42,7 +73,40 @@ export declare class GenesisPayValidationError extends Error {
42
73
  */
43
74
  export declare class GenesisPayRateLimitError extends Error {
44
75
  readonly retryAfterSeconds: number | null;
45
- constructor(message: string, retryAfterSeconds: number | null);
76
+ readonly requestId: string | null;
77
+ readonly apiVersion: string | null;
78
+ constructor(message: string, retryAfterSeconds: number | null, metadata?: GenesisPayResponseMetadata);
79
+ }
80
+ /** Expected immutable contract and server evidence disagreed. Never fulfil. */
81
+ export declare class GenesisPayContractMismatchError extends Error {
82
+ readonly code: "contract_mismatch";
83
+ readonly requestId: string | null;
84
+ readonly apiVersion: string | null;
85
+ readonly mismatches: readonly string[];
86
+ constructor(message: string, mismatches: readonly string[], metadata?: GenesisPayResponseMetadata);
87
+ }
88
+ /** More than one authority locator was supplied or resolved to one request. */
89
+ export declare class GenesisPayAmbiguousLocatorError extends Error {
90
+ readonly code: "ambiguous_locator";
91
+ readonly requestId: string | null;
92
+ readonly apiVersion: string | null;
93
+ constructor(message: string, metadata?: GenesisPayResponseMetadata);
94
+ }
95
+ export type GenesisPayEvidenceErrorCode = "malformed_evidence" | "inconsistent_evidence" | "historical_evidence_unavailable" | "unsupported_payment_channel";
96
+ /** Missing, malformed, contradictory, or historically unavailable authority evidence. */
97
+ export declare class GenesisPayEvidenceError extends Error {
98
+ readonly code: GenesisPayEvidenceErrorCode;
99
+ readonly requestId: string | null;
100
+ readonly apiVersion: string | null;
101
+ constructor(code: GenesisPayEvidenceErrorCode, message: string, metadata?: GenesisPayResponseMetadata);
102
+ }
103
+ export type GenesisPayVersionErrorCode = "unsupported_api_version" | "unsupported_evidence_version";
104
+ /** The server or evidence uses a protocol version this SDK cannot safely interpret. */
105
+ export declare class GenesisPayVersionError extends Error {
106
+ readonly code: GenesisPayVersionErrorCode;
107
+ readonly requestId: string | null;
108
+ readonly apiVersion: string | null;
109
+ constructor(code: GenesisPayVersionErrorCode, message: string, metadata?: GenesisPayResponseMetadata);
46
110
  }
47
111
  export type ThrowForErrorResponseOptions = {
48
112
  /** Operation label used in messages, e.g. `POST /api/v1/links`. */
@@ -51,6 +115,8 @@ export type ThrowForErrorResponseOptions = {
51
115
  notFoundMessage?: string;
52
116
  /** Appended to the message — a next step for the caller, not error detail. */
53
117
  hint?: string;
118
+ /** Best-effort correlation metadata from a versioned response. */
119
+ metadata?: GenesisPayResponseMetadata;
54
120
  };
55
121
  /**
56
122
  * Maps a non-OK response onto the right error class and throws it.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AASA,0EAA0E;AAC1E,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,0FAA0F;AAC1F,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED,4FAA4F;AAC5F,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC;gBAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,yBAAyB,EAAO;CAKtE;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI;CAK9D;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAUF;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,KAAK,CAAC,CA4ChB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -6,11 +6,37 @@
6
6
  // `throw new GenesisPayConfigError(...)` for a non-OK status is a bug — 422 and
7
7
  // 429 carry information (which field is wrong, how long to wait) that a generic
8
8
  // config error throws away.
9
+ function responseMetadata(metadata = {}) {
10
+ return {
11
+ requestId: metadata.requestId ?? null,
12
+ apiVersion: metadata.apiVersion ?? null,
13
+ };
14
+ }
9
15
  /** Missing/invalid key, unresolvable prod URL, or unreachable backend. */
10
16
  export class GenesisPayConfigError extends Error {
11
- constructor(message) {
17
+ requestId;
18
+ apiVersion;
19
+ constructor(message, metadata = {}) {
12
20
  super(message);
13
21
  this.name = "GenesisPayConfigError";
22
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
23
+ }
24
+ }
25
+ /**
26
+ * A mandate pull has durable broadcast authority but no definitive receipt yet.
27
+ * Reuse the original Idempotency-Key; never create a replacement charge.
28
+ */
29
+ export class GenesisPayMandateChargePendingError extends Error {
30
+ status = 503;
31
+ code = "charge_submitted_awaiting_confirmation";
32
+ charge;
33
+ requestId;
34
+ apiVersion;
35
+ constructor(message, charge, metadata = {}) {
36
+ super(message);
37
+ this.name = "GenesisPayMandateChargePendingError";
38
+ this.charge = charge;
39
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
14
40
  }
15
41
  }
16
42
  /**
@@ -20,16 +46,22 @@ export class GenesisPayConfigError extends Error {
20
46
  * "the key is broken / the backend is unreachable".
21
47
  */
22
48
  export class GenesisPayNotFoundError extends Error {
23
- constructor(message) {
49
+ requestId;
50
+ apiVersion;
51
+ constructor(message, metadata = {}) {
24
52
  super(message);
25
53
  this.name = "GenesisPayNotFoundError";
54
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
26
55
  }
27
56
  }
28
57
  /** Asset-integrity, mode↔network, or expectedPayTo-pin mismatch — a money-safety stop. */
29
58
  export class GenesisPayNetworkSafetyError extends Error {
30
- constructor(message) {
59
+ requestId;
60
+ apiVersion;
61
+ constructor(message, metadata = {}) {
31
62
  super(message);
32
63
  this.name = "GenesisPayNetworkSafetyError";
64
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
33
65
  }
34
66
  }
35
67
  /**
@@ -42,10 +74,13 @@ export class GenesisPayNetworkSafetyError extends Error {
42
74
  */
43
75
  export class GenesisPayValidationError extends Error {
44
76
  issues;
45
- constructor(message, issues = []) {
77
+ requestId;
78
+ apiVersion;
79
+ constructor(message, issues = [], metadata = {}) {
46
80
  super(message);
47
81
  this.name = "GenesisPayValidationError";
48
82
  this.issues = issues;
83
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
49
84
  }
50
85
  }
51
86
  /**
@@ -58,10 +93,61 @@ export class GenesisPayValidationError extends Error {
58
93
  */
59
94
  export class GenesisPayRateLimitError extends Error {
60
95
  retryAfterSeconds;
61
- constructor(message, retryAfterSeconds) {
96
+ requestId;
97
+ apiVersion;
98
+ constructor(message, retryAfterSeconds, metadata = {}) {
62
99
  super(message);
63
100
  this.name = "GenesisPayRateLimitError";
64
101
  this.retryAfterSeconds = retryAfterSeconds;
102
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
103
+ }
104
+ }
105
+ /** Expected immutable contract and server evidence disagreed. Never fulfil. */
106
+ export class GenesisPayContractMismatchError extends Error {
107
+ code = "contract_mismatch";
108
+ requestId;
109
+ apiVersion;
110
+ mismatches;
111
+ constructor(message, mismatches, metadata = {}) {
112
+ super(message);
113
+ this.name = "GenesisPayContractMismatchError";
114
+ this.mismatches = [...mismatches];
115
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
116
+ }
117
+ }
118
+ /** More than one authority locator was supplied or resolved to one request. */
119
+ export class GenesisPayAmbiguousLocatorError extends Error {
120
+ code = "ambiguous_locator";
121
+ requestId;
122
+ apiVersion;
123
+ constructor(message, metadata = {}) {
124
+ super(message);
125
+ this.name = "GenesisPayAmbiguousLocatorError";
126
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
127
+ }
128
+ }
129
+ /** Missing, malformed, contradictory, or historically unavailable authority evidence. */
130
+ export class GenesisPayEvidenceError extends Error {
131
+ code;
132
+ requestId;
133
+ apiVersion;
134
+ constructor(code, message, metadata = {}) {
135
+ super(message);
136
+ this.name = "GenesisPayEvidenceError";
137
+ this.code = code;
138
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
139
+ }
140
+ }
141
+ /** The server or evidence uses a protocol version this SDK cannot safely interpret. */
142
+ export class GenesisPayVersionError extends Error {
143
+ code;
144
+ requestId;
145
+ apiVersion;
146
+ constructor(code, message, metadata = {}) {
147
+ super(message);
148
+ this.name = "GenesisPayVersionError";
149
+ this.code = code;
150
+ ({ requestId: this.requestId, apiVersion: this.apiVersion } = responseMetadata(metadata));
65
151
  }
66
152
  }
67
153
  /**
@@ -76,9 +162,13 @@ export async function throwForErrorResponse(response, options) {
76
162
  const detail = body.message ?? body.text;
77
163
  const suffix = detail ? `: ${detail}` : "";
78
164
  const hint = options.hint ? ` ${options.hint}` : "";
165
+ const pendingMandateCharge = parsePendingMandateCharge(response.status, body.record);
166
+ if (pendingMandateCharge) {
167
+ throw new GenesisPayMandateChargePendingError(detail || "The mandate charge is awaiting confirmation.", pendingMandateCharge, options.metadata);
168
+ }
79
169
  if (response.status === 404) {
80
170
  throw new GenesisPayNotFoundError(options.notFoundMessage ??
81
- `GenesisPay ${options.operation} returned 404 (not found)${suffix}${hint}`);
171
+ `GenesisPay ${options.operation} returned 404 (not found)${suffix}${hint}`, options.metadata);
82
172
  }
83
173
  // 422 is a rejected *body*; 400 with `issues[]` is a rejected *query string*
84
174
  // (`GET /api/v1/mandates` answers that way). Both mean "your input was wrong,
@@ -90,28 +180,28 @@ export async function throwForErrorResponse(response, options) {
90
180
  // account.") stays a GenesisPayConfigError exactly as before, so nothing that was
91
181
  // a config error yesterday changes class today.
92
182
  if (response.status === 422 || (response.status === 400 && body.issues.length > 0)) {
93
- throw new GenesisPayValidationError(`GenesisPay ${options.operation} rejected the input (${response.status})${suffix}`, body.issues);
183
+ throw new GenesisPayValidationError(`GenesisPay ${options.operation} rejected the input (${response.status})${suffix}`, body.issues, options.metadata);
94
184
  }
95
185
  if (response.status === 429) {
96
186
  const retryAfterSeconds = parseRetryAfterSeconds(response.headers?.get("retry-after") ?? null);
97
187
  const wait = retryAfterSeconds === null ? "" : ` Retry after ${retryAfterSeconds}s.`;
98
- throw new GenesisPayRateLimitError(`GenesisPay ${options.operation} was rate limited (429)${suffix}${wait}`, retryAfterSeconds);
188
+ throw new GenesisPayRateLimitError(`GenesisPay ${options.operation} was rate limited (429)${suffix}${wait}`, retryAfterSeconds, options.metadata);
99
189
  }
100
- throw new GenesisPayConfigError(`GenesisPay ${options.operation} failed: ${response.status}${suffix}${hint}`.trim());
190
+ throw new GenesisPayConfigError(`GenesisPay ${options.operation} failed: ${response.status}${suffix}${hint}`.trim(), options.metadata);
101
191
  }
102
192
  async function readErrorBody(response) {
103
193
  const text = (await response.text().catch(() => "")).trim();
104
194
  if (!text)
105
- return { text: "", message: null, issues: [] };
195
+ return { text: "", message: null, issues: [], record: null };
106
196
  let parsed;
107
197
  try {
108
198
  parsed = JSON.parse(text);
109
199
  }
110
200
  catch {
111
- return { text, message: null, issues: [] };
201
+ return { text, message: null, issues: [], record: null };
112
202
  }
113
203
  if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
114
- return { text, message: null, issues: [] };
204
+ return { text, message: null, issues: [], record: null };
115
205
  }
116
206
  const record = parsed;
117
207
  const message = typeof record.error === "string" && record.error
@@ -119,7 +209,28 @@ async function readErrorBody(response) {
119
209
  : typeof record.message === "string" && record.message
120
210
  ? record.message
121
211
  : null;
122
- return { text, message, issues: toValidationIssues(record.issues) };
212
+ return { text, message, issues: toValidationIssues(record.issues), record };
213
+ }
214
+ function parsePendingMandateCharge(status, record) {
215
+ if (status !== 503 ||
216
+ record?.code !== "charge_submitted_awaiting_confirmation" ||
217
+ !record.charge ||
218
+ typeof record.charge !== "object" ||
219
+ Array.isArray(record.charge))
220
+ return null;
221
+ const charge = record.charge;
222
+ if (typeof charge.id !== "string" ||
223
+ !charge.id ||
224
+ !["pending", "submitted", "settled", "failed"].includes(typeof charge.status === "string" ? charge.status : "") ||
225
+ typeof charge.amountMinor !== "string" ||
226
+ !(typeof charge.txHash === "string" || charge.txHash === null))
227
+ return null;
228
+ return {
229
+ id: charge.id,
230
+ status: charge.status,
231
+ amountMinor: charge.amountMinor,
232
+ txHash: charge.txHash,
233
+ };
123
234
  }
124
235
  /** Tolerant: anything that is not a `{path, message}` object is dropped, never thrown on. */
125
236
  function toValidationIssues(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,4BAA4B;AAE5B,0EAA0E;AAC1E,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,0FAA0F;AAC1F,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAQD;;;;;;;GAOG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,MAAM,CAA8B;IAE7C,YAAY,OAAe,EAAE,SAAsC,EAAE;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,iBAAiB,CAAgB;IAE1C,YAAY,OAAe,EAAE,iBAAgC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;CACF;AAmBD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,OAAqC;IAErC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,uBAAuB,CAC/B,OAAO,CAAC,eAAe;YACrB,cAAc,OAAO,CAAC,SAAS,4BAA4B,MAAM,GAAG,IAAI,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,iFAAiF;IACjF,2EAA2E;IAC3E,EAAE;IACF,+EAA+E;IAC/E,gFAAgF;IAChF,kFAAkF;IAClF,gDAAgD;IAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,CAAC,SAAS,wBAAwB,QAAQ,CAAC,MAAM,IAAI,MAAM,EAAE,EAClF,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAC7C,CAAC;QACF,MAAM,IAAI,GACR,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,iBAAiB,IAAI,CAAC;QAC1E,MAAM,IAAI,wBAAwB,CAChC,cAAc,OAAO,CAAC,SAAS,0BAA0B,MAAM,GAAG,IAAI,EAAE,EACxE,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,qBAAqB,CAC7B,cAAc,OAAO,CAAC,SAAS,YAAY,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,CACpF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAkB;IAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE1D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,MAAkE,CAAC;IAClF,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK;QAC9C,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO;YACpD,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,IAAI,CAAC;IAEb,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,6FAA6F;AAC7F,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1E,MAAM,KAAK,GAAG,KAA8C,CAAC;QAC7D,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtD,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,MAAqB;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type ApiVersion } from "./fulfillment.js";
2
+ export type FulfillmentAttemptsQuery = {
3
+ clientReferenceId?: string;
4
+ confirmedAfter?: string;
5
+ confirmedBefore?: string;
6
+ cursor?: string;
7
+ limit?: number;
8
+ };
9
+ /** Discovery hint, NOT payment authority. Always call fulfillment.verify. */
10
+ export type FulfillmentAttemptCandidate = {
11
+ attemptId: string;
12
+ linkId: string;
13
+ linkType: "single" | "reusable";
14
+ clientReferenceId: string | null;
15
+ confirmedAt: string;
16
+ authorityVersion: string | null;
17
+ };
18
+ export type FulfillmentAttemptList = {
19
+ data: FulfillmentAttemptCandidate[];
20
+ nextCursor: string | null;
21
+ requestId: string;
22
+ apiVersion: ApiVersion;
23
+ };
24
+ export declare function createFulfillmentAttemptsLister(options: {
25
+ baseUrl: string;
26
+ apiKey: string;
27
+ fetchFn: typeof fetch;
28
+ }): (input?: FulfillmentAttemptsQuery) => Promise<FulfillmentAttemptList>;
29
+ //# sourceMappingURL=fulfillment-attempts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fulfillment-attempts.d.ts","sourceRoot":"","sources":["../src/fulfillment-attempts.ts"],"names":[],"mappings":"AACA,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAItG,MAAM,MAAM,wBAAwB,GAAG;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,2BAA2B,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,KAAK,CAAC;CACvB,IACe,QAAO,wBAA6B,KAAG,OAAO,CAAC,sBAAsB,CAAC,CAqDrF"}
@@ -0,0 +1,71 @@
1
+ import { GenesisPayConfigError, GenesisPayEvidenceError, GenesisPayValidationError, throwForErrorResponse } from "./errors.js";
2
+ import { GENESISPAY_API_VERSION, GENESISPAY_VERSION_HEADER } from "./fulfillment.js";
3
+ import { asRecord } from "./resource.js";
4
+ import { requireStrictResponseMetadata, strictResponseContext } from "./strict-response.js";
5
+ export function createFulfillmentAttemptsLister(options) {
6
+ return async (input = {}) => {
7
+ const params = new URLSearchParams();
8
+ for (const [key, value] of Object.entries(input)) {
9
+ if (value === undefined)
10
+ continue;
11
+ if (key === "limit") {
12
+ if (!Number.isInteger(value) || typeof value !== "number" || value < 1 || value > 100) {
13
+ throw new GenesisPayValidationError("limit must be an integer between 1 and 100.", []);
14
+ }
15
+ }
16
+ else if (!["clientReferenceId", "confirmedAfter", "confirmedBefore", "cursor"].includes(key) ||
17
+ typeof value !== "string" || !value.trim()) {
18
+ throw new GenesisPayValidationError("Invalid fulfillment attempt filter.", []);
19
+ }
20
+ params.set(key, String(value));
21
+ }
22
+ let response;
23
+ try {
24
+ response = await options.fetchFn(`${options.baseUrl}/api/v1/fulfillment/attempts?${params}`, {
25
+ method: "GET",
26
+ headers: { authorization: `Bearer ${options.apiKey}`, accept: "application/json", [GENESISPAY_VERSION_HEADER]: GENESISPAY_API_VERSION },
27
+ cache: "no-store",
28
+ });
29
+ }
30
+ catch {
31
+ throw new GenesisPayConfigError("Could not reach GenesisPay to discover fulfillment attempts.");
32
+ }
33
+ if (!response.ok) {
34
+ return throwForErrorResponse(response, { operation: "fulfillment attempt listing", metadata: strictResponseContext(response, null) });
35
+ }
36
+ let body;
37
+ try {
38
+ body = await response.text();
39
+ }
40
+ catch {
41
+ throw new GenesisPayConfigError("Could not read GenesisPay fulfillment attempt listing.", strictResponseContext(response, null));
42
+ }
43
+ let raw;
44
+ try {
45
+ raw = JSON.parse(body);
46
+ }
47
+ catch {
48
+ throw new GenesisPayEvidenceError("malformed_evidence", "Fulfillment attempt listing is not JSON.", strictResponseContext(response, null));
49
+ }
50
+ const metadata = requireStrictResponseMetadata(response, raw, "fulfillment attempt listing");
51
+ const invalid = () => { throw new GenesisPayEvidenceError("malformed_evidence", "Invalid fulfillment attempt listing.", metadata); };
52
+ const root = asRecord(raw);
53
+ if (root?.object !== "fulfillment_attempt_list" || !Array.isArray(root.data) ||
54
+ !(root.nextCursor === null || (typeof root.nextCursor === "string" && root.nextCursor.length > 0)))
55
+ return invalid();
56
+ const data = root.data.map((value) => {
57
+ const row = asRecord(value);
58
+ if (!row || typeof row.attemptId !== "string" || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(row.attemptId) ||
59
+ typeof row.linkId !== "string" || !row.linkId ||
60
+ (row.linkType !== "single" && row.linkType !== "reusable") ||
61
+ !(row.clientReferenceId === null || typeof row.clientReferenceId === "string") ||
62
+ typeof row.confirmedAt !== "string" || !Number.isFinite(Date.parse(row.confirmedAt)) ||
63
+ !(row.authorityVersion === null || typeof row.authorityVersion === "string"))
64
+ return invalid();
65
+ return { attemptId: row.attemptId, linkId: row.linkId, linkType: row.linkType,
66
+ clientReferenceId: row.clientReferenceId, confirmedAt: row.confirmedAt, authorityVersion: row.authorityVersion };
67
+ });
68
+ return { data, nextCursor: root.nextCursor, ...metadata };
69
+ };
70
+ }
71
+ //# sourceMappingURL=fulfillment-attempts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fulfillment-attempts.js","sourceRoot":"","sources":["../src/fulfillment-attempts.ts"],"names":[],"mappings":"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"}