@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/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
- 'runtime_probe',
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 sdkPreparationMetadataSchema = z.object({
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(),
@@ -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 SdkPreparationDiscoveryMetadata, type SdkPreparedPaidRequest, type SdkPreparedPaidRequestReady, type PaidRequestContext, type SdkPaymentDecisionResponse, type SdkReceipt, type SdkReceiptResponse } from './contracts.js';
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
- discoveryMetadata?: SdkPreparationDiscoveryMetadata;
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
- // Preparation and paid execution may need to replay the exact request body, so
145
- // only body types that can be losslessly serialized are accepted here.
146
- function getReplayableRequestBody(body) {
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('Paid requests currently support replayable string and URLSearchParams bodies when routed through the control plane.');
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 readDiscoveryMetadata(options, source) {
199
- return options.discoveryMetadata?.[source];
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 [source, metadata] of [
412
- ['provider', readDiscoveryMetadata(options, 'provider')],
413
- ['marketplace', readDiscoveryMetadata(options, 'marketplace')],
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
- ...(readDiscoveryMetadata(options, 'marketplace')?.notes ?? []).map((value) => ({
489
+ ...(externalMetadata?.notes ?? []).map((value) => ({
453
490
  value,
454
- attribution: createPreparationAttribution('marketplace', 'advisory'),
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 ?? 'provider',
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
- ?? 'provider',
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
- ?? 'provider',
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, confirmedByProbe) {
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
- ...(confirmation ? { confirmation } : {}),
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
- ...(buildPreparedPaymentRequirement(options.challenge, false)
936
+ ...(challengeDetails ? { challengeDetails } : {}),
937
+ ...(paymentRequirement
829
938
  ? {
830
- paymentRequirement: buildPreparedPaymentRequirement(options.challenge, false),
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
- ...(buildPreparedPaymentRequirement(challenge, true)
863
- ? { paymentRequirement: buildPreparedPaymentRequirement(challenge, true) }
973
+ ...(challengeDetails ? { challengeDetails } : {}),
974
+ ...(paymentRequirement
975
+ ? { paymentRequirement }
864
976
  : {}),
865
977
  hints,
866
978
  probe,