@402flow/sdk 0.1.0-alpha.14 → 0.1.0-alpha.16
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.
- package/README.md +171 -27
- package/dist/agent-harness.d.ts +3 -2
- package/dist/agent-harness.js +5 -2
- package/dist/agent-harness.js.map +1 -1
- package/dist/contracts.d.ts +1160 -1168
- package/dist/contracts.js +34 -11
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +14 -2
- package/dist/index.js +161 -49
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
package/dist/contracts.js
CHANGED
|
@@ -172,14 +172,11 @@ export const paidRequestChallengeSchema = z.object({
|
|
|
172
172
|
body: z.unknown().optional(),
|
|
173
173
|
});
|
|
174
174
|
export const sdkPreparationSourceSchema = z.enum([
|
|
175
|
-
'marketplace',
|
|
176
|
-
'provider',
|
|
177
175
|
'merchant_challenge',
|
|
178
|
-
'
|
|
176
|
+
'external_metadata',
|
|
179
177
|
]);
|
|
180
178
|
export const sdkPreparationAuthoritySchema = z.enum([
|
|
181
179
|
'authoritative',
|
|
182
|
-
'confirmatory',
|
|
183
180
|
'advisory',
|
|
184
181
|
]);
|
|
185
182
|
export const sdkPreparationAttributionSchema = z.object({
|
|
@@ -196,7 +193,7 @@ export const sdkPreparationFieldSchema = z.object({
|
|
|
196
193
|
enumValues: z.array(z.string().trim().min(1)).optional(),
|
|
197
194
|
});
|
|
198
195
|
/** Optional caller-supplied metadata used to enrich preparation hints. */
|
|
199
|
-
export const
|
|
196
|
+
export const sdkExternalMetadataSchema = z.object({
|
|
200
197
|
description: z.string().trim().min(1).max(400).optional(),
|
|
201
198
|
requestBodyType: z.string().trim().min(1).max(100).optional(),
|
|
202
199
|
requestBodyExample: z.string().trim().min(1).max(20_000).optional(),
|
|
@@ -205,11 +202,6 @@ export const sdkPreparationMetadataSchema = z.object({
|
|
|
205
202
|
requestPathParams: z.array(sdkPreparationFieldSchema).optional(),
|
|
206
203
|
notes: z.array(z.string().trim().min(1).max(400)).optional(),
|
|
207
204
|
});
|
|
208
|
-
/** Optional external metadata channels the SDK knows how to merge. */
|
|
209
|
-
export const sdkPreparationDiscoveryMetadataSchema = z.object({
|
|
210
|
-
provider: sdkPreparationMetadataSchema.optional(),
|
|
211
|
-
marketplace: sdkPreparationMetadataSchema.optional(),
|
|
212
|
-
});
|
|
213
205
|
export const sdkPreparedHintValueSchema = z.object({
|
|
214
206
|
value: z.string().min(1),
|
|
215
207
|
attribution: sdkPreparationAttributionSchema,
|
|
@@ -235,6 +227,37 @@ export const sdkPreparedPaymentRequirementAmountTypeSchema = z.enum([
|
|
|
235
227
|
'exact',
|
|
236
228
|
'max',
|
|
237
229
|
]);
|
|
230
|
+
/** Parsed x402 challenge resource details surfaced for host and agent inspection. */
|
|
231
|
+
export const sdkPreparedChallengeResourceSchema = z.object({
|
|
232
|
+
url: z.string().min(1),
|
|
233
|
+
description: z.string().min(1).optional(),
|
|
234
|
+
mimeType: z.string().min(1).optional(),
|
|
235
|
+
});
|
|
236
|
+
/** One advertised payment candidate copied from the decoded merchant challenge. */
|
|
237
|
+
export const sdkPreparedChallengeAcceptSchema = z
|
|
238
|
+
.object({
|
|
239
|
+
scheme: z.string().min(1).optional(),
|
|
240
|
+
network: z.string().min(1).optional(),
|
|
241
|
+
amount: z.string().min(1).optional(),
|
|
242
|
+
maxAmountRequired: z.string().min(1).optional(),
|
|
243
|
+
asset: z.string().min(1).optional(),
|
|
244
|
+
payTo: z.string().min(1).optional(),
|
|
245
|
+
maxTimeoutSeconds: z.number().int().positive().optional(),
|
|
246
|
+
resource: z.string().min(1).optional(),
|
|
247
|
+
description: z.string().min(1).optional(),
|
|
248
|
+
mimeType: z.string().min(1).optional(),
|
|
249
|
+
outputSchema: z.unknown().optional(),
|
|
250
|
+
extra: z.record(z.unknown()).optional(),
|
|
251
|
+
})
|
|
252
|
+
.catchall(z.unknown());
|
|
253
|
+
/** Parsed merchant challenge payload for agents that need full spec-level detail. */
|
|
254
|
+
export const sdkPreparedChallengeDetailsSchema = z.object({
|
|
255
|
+
x402Version: z.number().int().positive().optional(),
|
|
256
|
+
error: z.string().min(1).optional(),
|
|
257
|
+
resource: sdkPreparedChallengeResourceSchema.optional(),
|
|
258
|
+
accepts: z.array(sdkPreparedChallengeAcceptSchema).default([]),
|
|
259
|
+
extensions: z.record(z.unknown()).optional(),
|
|
260
|
+
});
|
|
238
261
|
/** Normalized payment terms extracted from a merchant challenge when available. */
|
|
239
262
|
export const sdkPreparedPaymentRequirementSchema = z.object({
|
|
240
263
|
protocol: paidRequestProtocolSchema,
|
|
@@ -247,7 +270,6 @@ export const sdkPreparedPaymentRequirementSchema = z.object({
|
|
|
247
270
|
amountMinor: z.string().regex(minorUnitAmountPattern).optional(),
|
|
248
271
|
precision: z.number().int().min(0).max(defaultMoneyPrecision).optional(),
|
|
249
272
|
provenance: sdkPreparationAttributionSchema,
|
|
250
|
-
confirmation: sdkPreparationAttributionSchema.optional(),
|
|
251
273
|
});
|
|
252
274
|
/** Evidence that the SDK performed an unpaid live probe before preparation. */
|
|
253
275
|
export const sdkPreparedProbeResultSchema = z.object({
|
|
@@ -298,6 +320,7 @@ export const sdkPreparedPaidRequestReadySchema = z.object({
|
|
|
298
320
|
protocol: paidRequestProtocolSchema,
|
|
299
321
|
request: paidRequestHttpRequestSchema,
|
|
300
322
|
challenge: paidRequestChallengeSchema,
|
|
323
|
+
challengeDetails: sdkPreparedChallengeDetailsSchema.optional(),
|
|
301
324
|
paymentRequirement: sdkPreparedPaymentRequirementSchema.optional(),
|
|
302
325
|
hints: sdkPreparedRequestHintsSchema,
|
|
303
326
|
probe: sdkPreparedProbeResultSchema.optional(),
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DetectedChallenge } from './challenge-detection.js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type SdkExternalMetadata, type SdkPreparedPaidRequest, type SdkPreparedPaidRequestReady, type PaidRequestContext, type SdkPaymentDecisionResponse, type SdkReceipt, type SdkReceiptResponse } from './contracts.js';
|
|
3
3
|
/** Supported authentication modes for an SDK client. */
|
|
4
4
|
export type AgentPayAuth = {
|
|
5
5
|
type: 'bootstrapKey';
|
|
@@ -27,12 +27,14 @@ export type FetchPaidOptions = {
|
|
|
27
27
|
/** Optional context for the preparation flow. */
|
|
28
28
|
export type PreparePaidRequestOptions = {
|
|
29
29
|
challenge?: DetectedChallenge;
|
|
30
|
-
|
|
30
|
+
externalMetadata?: SdkExternalMetadata;
|
|
31
31
|
};
|
|
32
32
|
/** Execution context accepted when paying a previously prepared request. */
|
|
33
33
|
export type ExecutePreparedRequest = Omit<FetchPaidRequest, 'challenge'>;
|
|
34
34
|
/** Request-scoped control-plane context accepted by fetchPaid(). */
|
|
35
35
|
export type FetchPaidRequest = Omit<PaidRequestContext, keyof AgentPayClientIdentity> & FetchPaidOptions;
|
|
36
|
+
/** Body types the SDK can safely replay through paid prepare/execute flows. */
|
|
37
|
+
export type ReplayableRequestBody = string | URLSearchParams;
|
|
36
38
|
type PaidProtocol = DetectedChallenge['protocol'];
|
|
37
39
|
type DenyDecision = Extract<SdkPaymentDecisionResponse, {
|
|
38
40
|
outcome: 'deny';
|
|
@@ -161,6 +163,16 @@ export declare class FetchPaidError<TResponse extends FetchPaidFailureResponse =
|
|
|
161
163
|
}
|
|
162
164
|
/** Type guard for callers that catch unknown errors around fetchPaid flows. */
|
|
163
165
|
export declare function isFetchPaidError(error: unknown): error is FetchPaidError;
|
|
166
|
+
/** Returns true when a request body can be replayed exactly across paid flows. */
|
|
167
|
+
export declare function isReplayableRequestBody(body: RequestInit['body']): body is ReplayableRequestBody;
|
|
168
|
+
/** Serialize a paid-flow request body into the exact replayable wire representation. */
|
|
169
|
+
export declare function toReplayableRequestBody(body: RequestInit['body']): string | undefined;
|
|
170
|
+
/** Helper for callers that want an explicit JSON-string body for paid flows. */
|
|
171
|
+
export declare function createJsonRequestBody(payload: unknown): string;
|
|
172
|
+
type FormUrlEncodedValue = string | number | boolean;
|
|
173
|
+
type FormUrlEncodedBodyInit = Record<string, FormUrlEncodedValue | readonly FormUrlEncodedValue[]>;
|
|
174
|
+
/** Helper for callers that want a replayable form body for paid flows. */
|
|
175
|
+
export declare function createFormUrlEncodedBody(values: FormUrlEncodedBodyInit): URLSearchParams;
|
|
164
176
|
/**
|
|
165
177
|
* Client bound to one organization/agent identity and one 402flow control plane.
|
|
166
178
|
*
|
package/dist/index.js
CHANGED
|
@@ -141,9 +141,30 @@ function tryParseJson(value) {
|
|
|
141
141
|
return undefined;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
function describeRequestBodyType(body) {
|
|
145
|
+
if (body === undefined || body === null) {
|
|
146
|
+
return 'empty';
|
|
147
|
+
}
|
|
148
|
+
if (typeof body === 'string') {
|
|
149
|
+
return 'string';
|
|
150
|
+
}
|
|
151
|
+
if (body instanceof URLSearchParams) {
|
|
152
|
+
return 'URLSearchParams';
|
|
153
|
+
}
|
|
154
|
+
if (typeof body === 'object' && 'constructor' in body) {
|
|
155
|
+
const constructorName = body.constructor?.name;
|
|
156
|
+
if (typeof constructorName === 'string' && constructorName.length > 0) {
|
|
157
|
+
return constructorName;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return typeof body;
|
|
161
|
+
}
|
|
162
|
+
/** Returns true when a request body can be replayed exactly across paid flows. */
|
|
163
|
+
export function isReplayableRequestBody(body) {
|
|
164
|
+
return typeof body === 'string' || body instanceof URLSearchParams;
|
|
165
|
+
}
|
|
166
|
+
/** Serialize a paid-flow request body into the exact replayable wire representation. */
|
|
167
|
+
export function toReplayableRequestBody(body) {
|
|
147
168
|
if (body === undefined || body === null) {
|
|
148
169
|
return undefined;
|
|
149
170
|
}
|
|
@@ -153,7 +174,30 @@ function getReplayableRequestBody(body) {
|
|
|
153
174
|
if (body instanceof URLSearchParams) {
|
|
154
175
|
return body.toString();
|
|
155
176
|
}
|
|
156
|
-
throw new Error(
|
|
177
|
+
throw new Error(`Paid requests require replayable string or URLSearchParams bodies. Received ${describeRequestBodyType(body)}. Convert JSON payloads with createJsonRequestBody(...) or form payloads with createFormUrlEncodedBody(...).`);
|
|
178
|
+
}
|
|
179
|
+
/** Helper for callers that want an explicit JSON-string body for paid flows. */
|
|
180
|
+
export function createJsonRequestBody(payload) {
|
|
181
|
+
return JSON.stringify(payload);
|
|
182
|
+
}
|
|
183
|
+
/** Helper for callers that want a replayable form body for paid flows. */
|
|
184
|
+
export function createFormUrlEncodedBody(values) {
|
|
185
|
+
const params = new URLSearchParams();
|
|
186
|
+
for (const [key, rawValue] of Object.entries(values)) {
|
|
187
|
+
if (Array.isArray(rawValue)) {
|
|
188
|
+
for (const entry of rawValue) {
|
|
189
|
+
params.append(key, String(entry));
|
|
190
|
+
}
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
params.append(key, String(rawValue));
|
|
194
|
+
}
|
|
195
|
+
return params;
|
|
196
|
+
}
|
|
197
|
+
// Preparation and paid execution may need to replay the exact request body, so
|
|
198
|
+
// only body types that can be losslessly serialized are accepted here.
|
|
199
|
+
function getReplayableRequestBody(body) {
|
|
200
|
+
return toReplayableRequestBody(body);
|
|
157
201
|
}
|
|
158
202
|
function hashRequestBody(body) {
|
|
159
203
|
if (!body) {
|
|
@@ -195,8 +239,8 @@ function createPreparationAttribution(source, authority, note) {
|
|
|
195
239
|
...(note ? { note } : {}),
|
|
196
240
|
};
|
|
197
241
|
}
|
|
198
|
-
function
|
|
199
|
-
return options.
|
|
242
|
+
function readExternalMetadata(options) {
|
|
243
|
+
return options.externalMetadata;
|
|
200
244
|
}
|
|
201
245
|
function readSchemaType(value) {
|
|
202
246
|
if (typeof value === 'string' && value.length > 0) {
|
|
@@ -378,26 +422,19 @@ async function readMerchantPreparationMetadata(challenge, fetchImpl) {
|
|
|
378
422
|
return undefined;
|
|
379
423
|
}
|
|
380
424
|
function pickPreparedHintValue(options, merchantChallengeMetadata, key) {
|
|
381
|
-
const marketplaceMetadata = readDiscoveryMetadata(options, 'marketplace');
|
|
382
|
-
if (marketplaceMetadata?.[key]) {
|
|
383
|
-
return {
|
|
384
|
-
value: marketplaceMetadata[key],
|
|
385
|
-
attribution: createPreparationAttribution('marketplace', 'advisory'),
|
|
386
|
-
};
|
|
387
|
-
}
|
|
388
|
-
const providerMetadata = readDiscoveryMetadata(options, 'provider');
|
|
389
|
-
if (providerMetadata?.[key]) {
|
|
390
|
-
return {
|
|
391
|
-
value: providerMetadata[key],
|
|
392
|
-
attribution: createPreparationAttribution('provider', 'advisory'),
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
425
|
if (merchantChallengeMetadata?.[key]) {
|
|
396
426
|
return {
|
|
397
427
|
value: merchantChallengeMetadata[key],
|
|
398
428
|
attribution: createPreparationAttribution('merchant_challenge', 'authoritative'),
|
|
399
429
|
};
|
|
400
430
|
}
|
|
431
|
+
const externalMetadata = readExternalMetadata(options);
|
|
432
|
+
if (externalMetadata?.[key]) {
|
|
433
|
+
return {
|
|
434
|
+
value: externalMetadata[key],
|
|
435
|
+
attribution: createPreparationAttribution('external_metadata', 'advisory'),
|
|
436
|
+
};
|
|
437
|
+
}
|
|
401
438
|
return undefined;
|
|
402
439
|
}
|
|
403
440
|
function mergePreparedHintFields(options, merchantChallengeMetadata, key) {
|
|
@@ -408,16 +445,15 @@ function mergePreparedHintFields(options, merchantChallengeMetadata, key) {
|
|
|
408
445
|
attribution: createPreparationAttribution('merchant_challenge', 'authoritative'),
|
|
409
446
|
});
|
|
410
447
|
}
|
|
411
|
-
for (const [
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
for (const field of metadata?.[key] ?? []) {
|
|
416
|
-
fields.set(field.name.toLowerCase(), {
|
|
417
|
-
...field,
|
|
418
|
-
attribution: createPreparationAttribution(source, 'advisory'),
|
|
419
|
-
});
|
|
448
|
+
for (const field of readExternalMetadata(options)?.[key] ?? []) {
|
|
449
|
+
const normalizedName = field.name.toLowerCase();
|
|
450
|
+
if (fields.has(normalizedName)) {
|
|
451
|
+
continue;
|
|
420
452
|
}
|
|
453
|
+
fields.set(normalizedName, {
|
|
454
|
+
...field,
|
|
455
|
+
attribution: createPreparationAttribution('external_metadata', 'advisory'),
|
|
456
|
+
});
|
|
421
457
|
}
|
|
422
458
|
return Array.from(fields.values());
|
|
423
459
|
}
|
|
@@ -425,6 +461,7 @@ async function buildPreparedRequestHints(options, fetchImpl, challenge) {
|
|
|
425
461
|
// Hint assembly merges optional caller metadata with merchant-authoritative
|
|
426
462
|
// challenge metadata while preserving attribution for every returned field.
|
|
427
463
|
const merchantChallengeMetadata = await readMerchantPreparationMetadata(challenge, fetchImpl);
|
|
464
|
+
const externalMetadata = readExternalMetadata(options);
|
|
428
465
|
return {
|
|
429
466
|
...(pickPreparedHintValue(options, merchantChallengeMetadata, 'description')
|
|
430
467
|
? {
|
|
@@ -449,13 +486,9 @@ async function buildPreparedRequestHints(options, fetchImpl, challenge) {
|
|
|
449
486
|
value,
|
|
450
487
|
attribution: createPreparationAttribution('merchant_challenge', 'authoritative'),
|
|
451
488
|
})),
|
|
452
|
-
...(
|
|
489
|
+
...(externalMetadata?.notes ?? []).map((value) => ({
|
|
453
490
|
value,
|
|
454
|
-
attribution: createPreparationAttribution('
|
|
455
|
-
})),
|
|
456
|
-
...(readDiscoveryMetadata(options, 'provider')?.notes ?? []).map((value) => ({
|
|
457
|
-
value,
|
|
458
|
-
attribution: createPreparationAttribution('provider', 'advisory'),
|
|
491
|
+
attribution: createPreparationAttribution('external_metadata', 'advisory'),
|
|
459
492
|
})),
|
|
460
493
|
],
|
|
461
494
|
};
|
|
@@ -497,7 +530,7 @@ function buildPreparedValidationIssues(request, hints) {
|
|
|
497
530
|
field: 'content-type',
|
|
498
531
|
code: 'unsupported_content_type',
|
|
499
532
|
message: 'Request body is expected to be JSON but content-type is not application/json.',
|
|
500
|
-
source: hints.requestBodyType?.attribution.source ?? '
|
|
533
|
+
source: hints.requestBodyType?.attribution.source ?? 'external_metadata',
|
|
501
534
|
blocking: true,
|
|
502
535
|
severity: 'error',
|
|
503
536
|
suggestedFix: 'Send the request with content-type: application/json.',
|
|
@@ -528,7 +561,7 @@ function buildPreparedValidationIssues(request, hints) {
|
|
|
528
561
|
message: 'Request body must be valid JSON to satisfy the declared body fields.',
|
|
529
562
|
source: hints.requestBodyType?.attribution.source
|
|
530
563
|
?? hints.requestBodyFields[0]?.attribution.source
|
|
531
|
-
?? '
|
|
564
|
+
?? 'external_metadata',
|
|
532
565
|
blocking: true,
|
|
533
566
|
severity: 'error',
|
|
534
567
|
suggestedFix: 'Send a valid JSON object body that satisfies the declared fields.',
|
|
@@ -542,7 +575,7 @@ function buildPreparedValidationIssues(request, hints) {
|
|
|
542
575
|
message: 'Request body must be a JSON object to satisfy the declared body fields.',
|
|
543
576
|
source: hints.requestBodyFields[0]?.attribution.source
|
|
544
577
|
?? hints.requestBodyType?.attribution.source
|
|
545
|
-
?? '
|
|
578
|
+
?? 'external_metadata',
|
|
546
579
|
blocking: true,
|
|
547
580
|
severity: 'error',
|
|
548
581
|
suggestedFix: 'Send a JSON object body whose keys match the declared fields.',
|
|
@@ -701,13 +734,10 @@ function parseAuthenticateHeaderParameters(header) {
|
|
|
701
734
|
}
|
|
702
735
|
return parameters;
|
|
703
736
|
}
|
|
704
|
-
function buildPreparedPaymentRequirement(challenge
|
|
737
|
+
function buildPreparedPaymentRequirement(challenge) {
|
|
705
738
|
// Payment terms are normalized into one portable structure so callers do not
|
|
706
739
|
// need protocol-specific parsing logic in their agent or application layer.
|
|
707
740
|
const provenance = createPreparationAttribution('merchant_challenge', 'authoritative');
|
|
708
|
-
const confirmation = confirmedByProbe
|
|
709
|
-
? createPreparationAttribution('runtime_probe', 'confirmatory', 'Confirmed by an unpaid probe before execution.')
|
|
710
|
-
: undefined;
|
|
711
741
|
const paymentRequiredPayload = tryParsePaymentRequiredHeader(challenge.headers['payment-required']);
|
|
712
742
|
const payload = unwrapChallengePayload(paymentRequiredPayload ?? challenge.body);
|
|
713
743
|
if (isRecord(payload)) {
|
|
@@ -748,7 +778,6 @@ function buildPreparedPaymentRequirement(challenge, confirmedByProbe) {
|
|
|
748
778
|
...(amountMinor ? { amountMinor } : {}),
|
|
749
779
|
...(precision !== undefined ? { precision } : {}),
|
|
750
780
|
provenance,
|
|
751
|
-
...(confirmation ? { confirmation } : {}),
|
|
752
781
|
};
|
|
753
782
|
}
|
|
754
783
|
}
|
|
@@ -778,13 +807,90 @@ function buildPreparedPaymentRequirement(challenge, confirmedByProbe) {
|
|
|
778
807
|
...(precision !== undefined ? { precision } : {}),
|
|
779
808
|
...(amount ? { amountType: 'exact' } : {}),
|
|
780
809
|
provenance,
|
|
781
|
-
...(confirmation ? { confirmation } : {}),
|
|
782
810
|
};
|
|
783
811
|
}
|
|
784
812
|
return {
|
|
785
813
|
protocol: challenge.protocol,
|
|
786
814
|
provenance,
|
|
787
|
-
|
|
815
|
+
};
|
|
816
|
+
}
|
|
817
|
+
function buildPreparedChallengeAccept(candidate) {
|
|
818
|
+
const maxTimeoutSeconds = readIntegerValue(candidate.maxTimeoutSeconds);
|
|
819
|
+
return {
|
|
820
|
+
...(readStringValue(candidate.scheme)
|
|
821
|
+
? { scheme: readStringValue(candidate.scheme) }
|
|
822
|
+
: {}),
|
|
823
|
+
...(readStringValue(candidate.network)
|
|
824
|
+
? { network: readStringValue(candidate.network) }
|
|
825
|
+
: {}),
|
|
826
|
+
...(readStringValue(candidate.amount)
|
|
827
|
+
? { amount: readStringValue(candidate.amount) }
|
|
828
|
+
: {}),
|
|
829
|
+
...(readStringValue(candidate.maxAmountRequired)
|
|
830
|
+
? { maxAmountRequired: readStringValue(candidate.maxAmountRequired) }
|
|
831
|
+
: {}),
|
|
832
|
+
...(readStringValue(candidate.asset)
|
|
833
|
+
? { asset: readStringValue(candidate.asset) }
|
|
834
|
+
: {}),
|
|
835
|
+
...(readStringValue(candidate.payTo)
|
|
836
|
+
? { payTo: readStringValue(candidate.payTo) }
|
|
837
|
+
: {}),
|
|
838
|
+
...(maxTimeoutSeconds && maxTimeoutSeconds > 0
|
|
839
|
+
? { maxTimeoutSeconds }
|
|
840
|
+
: {}),
|
|
841
|
+
...(readStringValue(candidate.resource)
|
|
842
|
+
? { resource: readStringValue(candidate.resource) }
|
|
843
|
+
: {}),
|
|
844
|
+
...(readStringValue(candidate.description)
|
|
845
|
+
? { description: readStringValue(candidate.description) }
|
|
846
|
+
: {}),
|
|
847
|
+
...(readStringValue(candidate.mimeType)
|
|
848
|
+
? { mimeType: readStringValue(candidate.mimeType) }
|
|
849
|
+
: {}),
|
|
850
|
+
...(candidate.outputSchema !== undefined
|
|
851
|
+
? { outputSchema: candidate.outputSchema }
|
|
852
|
+
: {}),
|
|
853
|
+
...(isRecord(candidate.extra)
|
|
854
|
+
? { extra: candidate.extra }
|
|
855
|
+
: {}),
|
|
856
|
+
};
|
|
857
|
+
}
|
|
858
|
+
function buildPreparedChallengeDetails(challenge) {
|
|
859
|
+
if (challenge.protocol !== 'x402') {
|
|
860
|
+
return undefined;
|
|
861
|
+
}
|
|
862
|
+
const paymentRequiredPayload = tryParsePaymentRequiredHeader(challenge.headers['payment-required']);
|
|
863
|
+
const payload = unwrapChallengePayload(paymentRequiredPayload ?? challenge.body);
|
|
864
|
+
if (!isRecord(payload)) {
|
|
865
|
+
return undefined;
|
|
866
|
+
}
|
|
867
|
+
const resource = isRecord(payload.resource) ? payload.resource : undefined;
|
|
868
|
+
const accepts = Array.isArray(payload.accepts)
|
|
869
|
+
? payload.accepts.filter((candidate) => isRecord(candidate))
|
|
870
|
+
: [];
|
|
871
|
+
const x402Version = readIntegerValue(payload.x402Version);
|
|
872
|
+
return {
|
|
873
|
+
...(x402Version !== undefined ? { x402Version } : {}),
|
|
874
|
+
...(readStringValue(payload.error)
|
|
875
|
+
? { error: readStringValue(payload.error) }
|
|
876
|
+
: {}),
|
|
877
|
+
...(resource && readStringValue(resource.url)
|
|
878
|
+
? {
|
|
879
|
+
resource: {
|
|
880
|
+
url: readStringValue(resource.url),
|
|
881
|
+
...(readStringValue(resource.description)
|
|
882
|
+
? { description: readStringValue(resource.description) }
|
|
883
|
+
: {}),
|
|
884
|
+
...(readStringValue(resource.mimeType)
|
|
885
|
+
? { mimeType: readStringValue(resource.mimeType) }
|
|
886
|
+
: {}),
|
|
887
|
+
},
|
|
888
|
+
}
|
|
889
|
+
: {}),
|
|
890
|
+
accepts: accepts.map((candidate) => buildPreparedChallengeAccept(candidate)),
|
|
891
|
+
...(isRecord(payload.extensions)
|
|
892
|
+
? { extensions: payload.extensions }
|
|
893
|
+
: {}),
|
|
788
894
|
};
|
|
789
895
|
}
|
|
790
896
|
/**
|
|
@@ -820,14 +926,17 @@ export class AgentPayClient {
|
|
|
820
926
|
if (options.challenge) {
|
|
821
927
|
const hints = await buildPreparedRequestHints(options, this.fetchImpl, options.challenge);
|
|
822
928
|
const validationIssues = buildPreparedValidationIssues(request, hints);
|
|
929
|
+
const paymentRequirement = buildPreparedPaymentRequirement(options.challenge);
|
|
930
|
+
const challengeDetails = buildPreparedChallengeDetails(options.challenge);
|
|
823
931
|
return {
|
|
824
932
|
kind: 'ready',
|
|
825
933
|
protocol: options.challenge.protocol,
|
|
826
934
|
request,
|
|
827
935
|
challenge: paidRequestChallengeSchema.parse(options.challenge),
|
|
828
|
-
...(
|
|
936
|
+
...(challengeDetails ? { challengeDetails } : {}),
|
|
937
|
+
...(paymentRequirement
|
|
829
938
|
? {
|
|
830
|
-
paymentRequirement
|
|
939
|
+
paymentRequirement,
|
|
831
940
|
}
|
|
832
941
|
: {}),
|
|
833
942
|
hints,
|
|
@@ -854,13 +963,16 @@ export class AgentPayClient {
|
|
|
854
963
|
nextAction: derivePreparedNextAction('passthrough', validationIssues),
|
|
855
964
|
};
|
|
856
965
|
}
|
|
966
|
+
const paymentRequirement = buildPreparedPaymentRequirement(challenge);
|
|
967
|
+
const challengeDetails = buildPreparedChallengeDetails(challenge);
|
|
857
968
|
return {
|
|
858
969
|
kind: 'ready',
|
|
859
970
|
protocol: challenge.protocol,
|
|
860
971
|
request,
|
|
861
972
|
challenge: paidRequestChallengeSchema.parse(challenge),
|
|
862
|
-
...(
|
|
863
|
-
|
|
973
|
+
...(challengeDetails ? { challengeDetails } : {}),
|
|
974
|
+
...(paymentRequirement
|
|
975
|
+
? { paymentRequirement }
|
|
864
976
|
: {}),
|
|
865
977
|
hints,
|
|
866
978
|
probe,
|