@marcohefti/request-network-api-client 0.5.12 → 0.6.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 (82) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/domains/currencies/v1/index.js +288 -0
  3. package/dist/cjs/domains/currencies/v1/index.js.map +1 -0
  4. package/dist/cjs/domains/pay/index.js +251 -0
  5. package/dist/cjs/domains/pay/index.js.map +1 -0
  6. package/dist/cjs/domains/pay/v1/index.js +241 -0
  7. package/dist/cjs/domains/pay/v1/index.js.map +1 -0
  8. package/dist/cjs/domains/payer/v1/index.js +355 -0
  9. package/dist/cjs/domains/payer/v1/index.js.map +1 -0
  10. package/dist/cjs/domains/payer/v2/index.js +355 -0
  11. package/dist/cjs/domains/payer/v2/index.js.map +1 -0
  12. package/dist/cjs/domains/payments/index.js +274 -0
  13. package/dist/cjs/domains/payments/index.js.map +1 -0
  14. package/dist/cjs/domains/requests/index.js +38 -10
  15. package/dist/cjs/domains/requests/index.js.map +1 -1
  16. package/dist/cjs/domains/requests/v1/index.js +499 -0
  17. package/dist/cjs/domains/requests/v1/index.js.map +1 -0
  18. package/dist/cjs/domains/secure-payments/index.js +248 -0
  19. package/dist/cjs/domains/secure-payments/index.js.map +1 -0
  20. package/dist/cjs/index.js +234 -242
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/esm/{index-DJGHELE1.d.mts → currencies.v1.facade-ROQlpyCp.d.mts} +2 -34
  23. package/dist/esm/domains/client-ids/index.d.mts +2 -2
  24. package/dist/esm/domains/currencies/index.d.mts +3 -2
  25. package/dist/esm/domains/currencies/v1/index.d.mts +3 -0
  26. package/dist/esm/domains/currencies/v1/index.js +286 -0
  27. package/dist/esm/domains/currencies/v1/index.js.map +1 -0
  28. package/dist/esm/domains/pay/index.d.mts +3 -0
  29. package/dist/esm/domains/pay/index.js +248 -0
  30. package/dist/esm/domains/pay/index.js.map +1 -0
  31. package/dist/esm/domains/pay/v1/index.d.mts +2 -0
  32. package/dist/esm/domains/pay/v1/index.js +239 -0
  33. package/dist/esm/domains/pay/v1/index.js.map +1 -0
  34. package/dist/esm/domains/payer/index.d.mts +4 -2
  35. package/dist/esm/domains/payer/v1/index.d.mts +2 -0
  36. package/dist/esm/domains/payer/v1/index.js +353 -0
  37. package/dist/esm/domains/payer/v1/index.js.map +1 -0
  38. package/dist/esm/domains/payer/v2/index.d.mts +2 -0
  39. package/dist/esm/domains/payer/v2/index.js +353 -0
  40. package/dist/esm/domains/payer/v2/index.js.map +1 -0
  41. package/dist/esm/domains/payments/index.d.mts +3 -0
  42. package/dist/esm/domains/payments/index.js +272 -0
  43. package/dist/esm/domains/payments/index.js.map +1 -0
  44. package/dist/esm/domains/payouts/index.d.mts +2 -2
  45. package/dist/esm/domains/requests/index.d.mts +3 -2
  46. package/dist/esm/domains/requests/index.js +38 -10
  47. package/dist/esm/domains/requests/index.js.map +1 -1
  48. package/dist/esm/domains/requests/v1/index.d.mts +3 -0
  49. package/dist/esm/domains/requests/v1/index.js +497 -0
  50. package/dist/esm/domains/requests/v1/index.js.map +1 -0
  51. package/dist/esm/domains/secure-payments/index.d.mts +2 -0
  52. package/dist/esm/domains/secure-payments/index.js +246 -0
  53. package/dist/esm/domains/secure-payments/index.js.map +1 -0
  54. package/dist/esm/index-4zmukpkJ.d.mts +12 -0
  55. package/dist/esm/index-BPikysYP.d.mts +10 -0
  56. package/dist/esm/index-BlEg0bI1.d.mts +25 -0
  57. package/dist/esm/{index-hYoC2ndH.d.mts → index-CBcZqEQp.d.mts} +1 -1
  58. package/dist/esm/index-CS9UrTd6.d.mts +10 -0
  59. package/dist/esm/index-CeMw0yOZ.d.mts +3393 -0
  60. package/dist/esm/index-DPVFRK3h.d.mts +36 -0
  61. package/dist/esm/{index-DbnV_D6L.d.mts → index-DPx06HBi.d.mts} +18 -58
  62. package/dist/esm/index-DZ0iw_Xz.d.mts +10 -0
  63. package/dist/esm/index-DpFThmL3.d.mts +57 -0
  64. package/dist/esm/{index-y1nxa55y.d.mts → index-DuMayMNI.d.mts} +1 -1
  65. package/dist/esm/index-Kx46FKbk.d.mts +38 -0
  66. package/dist/esm/index-srhKdWh7.d.mts +21 -0
  67. package/dist/esm/index.d.mts +31 -3520
  68. package/dist/esm/index.js +234 -242
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/{openapi-types-CQ1z27_K.d.mts → openapi-types-JhYQOcil.d.mts} +252 -117
  71. package/dist/esm/pay.v1.facade-wxvuDX9t.d.mts +17 -0
  72. package/dist/esm/payer.v1.facade-Rcl1BBPl.d.mts +31 -0
  73. package/dist/esm/payer.v2.facade-BqcIOIBY.d.mts +31 -0
  74. package/dist/esm/request.helpers-DgzNANMt.d.mts +51 -0
  75. package/package.json +6 -6
  76. package/dist/cjs/domains/payee-destination/index.js +0 -276
  77. package/dist/cjs/domains/payee-destination/index.js.map +0 -1
  78. package/dist/esm/domains/payee-destination/index.d.mts +0 -2
  79. package/dist/esm/domains/payee-destination/index.js +0 -274
  80. package/dist/esm/domains/payee-destination/index.js.map +0 -1
  81. package/dist/esm/index-DJjp2Jbk.d.mts +0 -79
  82. package/dist/esm/index-DQIf9k5x.d.mts +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/core/http/validation.config.ts","../../../../../src/validation/schema.registry.ts","../../../../../src/validation/zod.helpers.ts","../../../../../src/core/http/operation.helper.ts","../../../../../src/domains/payer/v2/payer.v2.facade.ts","../../../../../src/validation/generated/groups/payer.schemas.generated.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","import type { HttpClient, RequestOptions, RuntimeValidationOption } from \"../../../core/http/http.types\";\nimport { requestJson } from \"../../../core/http/operation.helper\";\nimport type { operations } from \"../../../generated/openapi-types\";\n\nconst OP_CREATE_COMPLIANCE = \"PayerV2Controller_getComplianceData_v2\" as const;\nconst OP_GET_STATUS = \"PayerV2Controller_getComplianceStatus_v2\" as const;\nconst OP_UPDATE_STATUS = \"PayerV2Controller_updateComplianceStatus_v2\" as const;\nconst OP_CREATE_PAYMENT_DETAILS = \"PayerV2Controller_createPaymentDetails_v2\" as const;\nconst OP_GET_PAYMENT_DETAILS = \"PayerV2Controller_getPaymentDetails_v2\" as const;\n\ntype CreateComplianceBody = operations[typeof OP_CREATE_COMPLIANCE][\"requestBody\"][\"content\"][\"application/json\"];\ntype CreateComplianceResponse = operations[typeof OP_CREATE_COMPLIANCE][\"responses\"][200][\"content\"][\"application/json\"];\n\ntype ComplianceStatusResponse = operations[typeof OP_GET_STATUS][\"responses\"][200][\"content\"][\"application/json\"];\n\ntype UpdateComplianceBody = operations[typeof OP_UPDATE_STATUS][\"requestBody\"][\"content\"][\"application/json\"];\ntype UpdateComplianceResponse = operations[typeof OP_UPDATE_STATUS][\"responses\"][200][\"content\"][\"application/json\"];\n\ntype CreatePaymentDetailsBody = operations[typeof OP_CREATE_PAYMENT_DETAILS][\"requestBody\"][\"content\"][\"application/json\"];\ntype CreatePaymentDetailsResponse = operations[typeof OP_CREATE_PAYMENT_DETAILS][\"responses\"][201][\"content\"][\"application/json\"];\n\ntype GetPaymentDetailsResponse = operations[typeof OP_GET_PAYMENT_DETAILS][\"responses\"][200][\"content\"][\"application/json\"];\n\nexport interface PayerV2OperationOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport interface PayerV2Api {\n createComplianceData(body: CreateComplianceBody, options?: PayerV2OperationOptions): Promise<CreateComplianceResponse>;\n getComplianceStatus(clientUserId: string, options?: PayerV2OperationOptions): Promise<ComplianceStatusResponse>;\n updateComplianceStatus(\n clientUserId: string,\n body: UpdateComplianceBody,\n options?: PayerV2OperationOptions,\n ): Promise<UpdateComplianceResponse>;\n createPaymentDetails(\n clientUserId: string,\n body: CreatePaymentDetailsBody,\n options?: PayerV2OperationOptions,\n ): Promise<CreatePaymentDetailsResponse>;\n getPaymentDetails(clientUserId: string, options?: PayerV2OperationOptions): Promise<GetPaymentDetailsResponse>;\n}\n\nexport function createPayerV2Api(http: HttpClient): PayerV2Api {\n return {\n async createComplianceData(body, options) {\n return requestJson<CreateComplianceResponse>(http, {\n operationId: OP_CREATE_COMPLIANCE,\n method: \"POST\",\n path: \"/v2/payer\",\n body,\n requestSchemaKey: { operationId: OP_CREATE_COMPLIANCE, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP_CREATE_COMPLIANCE, kind: \"response\", status: 200 },\n description: \"Create compliance data\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async getComplianceStatus(clientUserId, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}`;\n return requestJson<ComplianceStatusResponse>(http, {\n operationId: OP_GET_STATUS,\n method: \"GET\",\n path,\n schemaKey: { operationId: OP_GET_STATUS, kind: \"response\", status: 200 },\n description: \"Get compliance status\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async updateComplianceStatus(clientUserId, body, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}`;\n return requestJson<UpdateComplianceResponse>(http, {\n operationId: OP_UPDATE_STATUS,\n method: \"PATCH\",\n path,\n body,\n requestSchemaKey: { operationId: OP_UPDATE_STATUS, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP_UPDATE_STATUS, kind: \"response\", status: 200 },\n description: \"Update compliance status\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async createPaymentDetails(clientUserId, body, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}/payment-details`;\n return requestJson<CreatePaymentDetailsResponse>(http, {\n operationId: OP_CREATE_PAYMENT_DETAILS,\n method: \"POST\",\n path,\n body,\n requestSchemaKey: { operationId: OP_CREATE_PAYMENT_DETAILS, kind: \"request\", variant: \"application/json\" },\n schemaKey: { operationId: OP_CREATE_PAYMENT_DETAILS, kind: \"response\", status: 201 },\n description: \"Create payment details\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n\n async getPaymentDetails(clientUserId, options) {\n const path = `/v2/payer/${encodeURIComponent(clientUserId)}/payment-details`;\n return requestJson<GetPaymentDetailsResponse>(http, {\n operationId: OP_GET_PAYMENT_DETAILS,\n method: \"GET\",\n path,\n schemaKey: { operationId: OP_GET_PAYMENT_DETAILS, kind: \"response\", status: 200 },\n description: \"Get payment details\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n };\n}\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 request (application/json)\nexport const PayerV1Controller_getComplianceData_v1_Request = z.object({ \"clientUserId\": z.string(), \"email\": z.string(), \"firstName\": z.string(), \"lastName\": z.string(), \"beneficiaryType\": z.enum(['individual', 'business']), \"companyName\": (z.string()).optional(), \"dateOfBirth\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": z.string(), \"postcode\": z.string(), \"country\": z.string(), \"nationality\": z.string(), \"phone\": z.string(), \"ssn\": z.string(), \"sourceOfFunds\": (z.string()).optional(), \"businessActivity\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'request', variant: 'application/json' }, schema: PayerV1Controller_getComplianceData_v1_Request });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (200)\nexport const PayerV1Controller_getComplianceData_v1_200 = z.object({ \"agreementUrl\": (z.string()).optional(), \"kycUrl\": (z.string()).optional(), \"status\": z.object({ \"agreementStatus\": z.enum(['not_started', 'completed']), \"kycStatus\": z.enum(['not_started', 'completed']) }).passthrough(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_getComplianceData_v1_200 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (400)\nexport const PayerV1Controller_getComplianceData_v1_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 400 }, schema: PayerV1Controller_getComplianceData_v1_400 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (401)\nexport const PayerV1Controller_getComplianceData_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_getComplianceData_v1_401 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (404)\nexport const PayerV1Controller_getComplianceData_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_getComplianceData_v1_404 });\n\n// POST /v1/payer -> PayerV1Controller_getComplianceData_v1 (429)\nexport const PayerV1Controller_getComplianceData_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceData_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_getComplianceData_v1_429 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (200)\nexport const PayerV1Controller_getComplianceStatus_v1_200 = z.object({ \"kycStatus\": (z.string()).optional(), \"agreementStatus\": (z.string()).optional(), \"isCompliant\": (z.boolean()).optional(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_getComplianceStatus_v1_200 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (401)\nexport const PayerV1Controller_getComplianceStatus_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_getComplianceStatus_v1_401 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (404)\nexport const PayerV1Controller_getComplianceStatus_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_getComplianceStatus_v1_404 });\n\n// GET /v1/payer/{clientUserId} -> PayerV1Controller_getComplianceStatus_v1 (429)\nexport const PayerV1Controller_getComplianceStatus_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getComplianceStatus_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_getComplianceStatus_v1_429 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 request (application/json)\nexport const PayerV1Controller_updateComplianceStatus_v1_Request = z.object({ \"agreementCompleted\": z.boolean() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'request', variant: 'application/json' }, schema: PayerV1Controller_updateComplianceStatus_v1_Request });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (200)\nexport const PayerV1Controller_updateComplianceStatus_v1_200 = z.object({ \"success\": (z.boolean()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_updateComplianceStatus_v1_200 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (400)\nexport const PayerV1Controller_updateComplianceStatus_v1_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 400 }, schema: PayerV1Controller_updateComplianceStatus_v1_400 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (401)\nexport const PayerV1Controller_updateComplianceStatus_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_updateComplianceStatus_v1_401 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (404)\nexport const PayerV1Controller_updateComplianceStatus_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_updateComplianceStatus_v1_404 });\n\n// PATCH /v1/payer/{clientUserId} -> PayerV1Controller_updateComplianceStatus_v1 (429)\nexport const PayerV1Controller_updateComplianceStatus_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_updateComplianceStatus_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_updateComplianceStatus_v1_429 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (200)\nexport const PayerV1Controller_getPaymentDetails_v1_200 = z.object({ \"paymentDetails\": (z.array(z.object({ \"id\": (z.string()).optional(), \"userId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"beneficiaryType\": (z.string()).optional(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"status\": (z.string()).optional(), \"rails\": (z.string()).optional() }).passthrough())).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 200 }, schema: PayerV1Controller_getPaymentDetails_v1_200 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (401)\nexport const PayerV1Controller_getPaymentDetails_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_getPaymentDetails_v1_401 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (404)\nexport const PayerV1Controller_getPaymentDetails_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_getPaymentDetails_v1_404 });\n\n// GET /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_getPaymentDetails_v1 (429)\nexport const PayerV1Controller_getPaymentDetails_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_getPaymentDetails_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_getPaymentDetails_v1_429 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 request (application/json)\nexport const PayerV1Controller_createPaymentDetails_v1_Request = z.object({ \"bankName\": z.string(), \"accountName\": z.string(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"beneficiaryType\": z.enum(['individual', 'business']), \"currency\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": (z.string()).optional(), \"country\": z.string(), \"dateOfBirth\": z.string(), \"postalCode\": z.string(), \"rails\": (z.enum(['local', 'swift', 'wire'])).optional(), \"sortCode\": (z.string()).optional(), \"iban\": (z.string()).optional(), \"swiftBic\": (z.string()).optional(), \"documentNumber\": (z.string()).optional(), \"documentType\": (z.string()).optional(), \"accountType\": (z.enum(['checking', 'savings'])).optional(), \"ribNumber\": (z.string()).optional(), \"bsbNumber\": (z.string()).optional(), \"ncc\": (z.string()).optional(), \"branchCode\": (z.string()).optional(), \"bankCode\": (z.string()).optional(), \"ifsc\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'request', variant: 'application/json' }, schema: PayerV1Controller_createPaymentDetails_v1_Request });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (201)\nexport const PayerV1Controller_createPaymentDetails_v1_201 = z.object({ \"payment_detail\": (z.object({ \"id\": (z.string()).optional(), \"clientUserId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"beneficiaryType\": (z.enum(['individual', 'business'])).optional() }).passthrough()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 201 }, schema: PayerV1Controller_createPaymentDetails_v1_201 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (400)\nexport const PayerV1Controller_createPaymentDetails_v1_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 400 }, schema: PayerV1Controller_createPaymentDetails_v1_400 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (401)\nexport const PayerV1Controller_createPaymentDetails_v1_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 401 }, schema: PayerV1Controller_createPaymentDetails_v1_401 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (404)\nexport const PayerV1Controller_createPaymentDetails_v1_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 404 }, schema: PayerV1Controller_createPaymentDetails_v1_404 });\n\n// POST /v1/payer/{clientUserId}/payment-details -> PayerV1Controller_createPaymentDetails_v1 (429)\nexport const PayerV1Controller_createPaymentDetails_v1_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV1Controller_createPaymentDetails_v1', kind: 'response', status: 429 }, schema: PayerV1Controller_createPaymentDetails_v1_429 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 request (application/json)\nexport const PayerV2Controller_getComplianceData_v2_Request = z.object({ \"clientUserId\": z.string(), \"email\": z.string(), \"firstName\": z.string(), \"lastName\": z.string(), \"beneficiaryType\": z.enum(['individual', 'business']), \"companyName\": (z.string()).optional(), \"dateOfBirth\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": z.string(), \"postcode\": z.string(), \"country\": z.string(), \"nationality\": z.string(), \"phone\": z.string(), \"ssn\": z.string(), \"sourceOfFunds\": (z.string()).optional(), \"businessActivity\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'request', variant: 'application/json' }, schema: PayerV2Controller_getComplianceData_v2_Request });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (200)\nexport const PayerV2Controller_getComplianceData_v2_200 = z.object({ \"agreementUrl\": (z.string()).optional(), \"kycUrl\": (z.string()).optional(), \"status\": z.object({ \"agreementStatus\": z.enum(['not_started', 'completed']), \"kycStatus\": z.enum(['not_started', 'completed']) }).passthrough(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_getComplianceData_v2_200 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (400)\nexport const PayerV2Controller_getComplianceData_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 400 }, schema: PayerV2Controller_getComplianceData_v2_400 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (401)\nexport const PayerV2Controller_getComplianceData_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_getComplianceData_v2_401 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (404)\nexport const PayerV2Controller_getComplianceData_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_getComplianceData_v2_404 });\n\n// POST /v2/payer -> PayerV2Controller_getComplianceData_v2 (429)\nexport const PayerV2Controller_getComplianceData_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceData_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_getComplianceData_v2_429 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (200)\nexport const PayerV2Controller_getComplianceStatus_v2_200 = z.object({ \"kycStatus\": (z.string()).optional(), \"agreementStatus\": (z.string()).optional(), \"isCompliant\": (z.boolean()).optional(), \"userId\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_getComplianceStatus_v2_200 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (401)\nexport const PayerV2Controller_getComplianceStatus_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_getComplianceStatus_v2_401 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (404)\nexport const PayerV2Controller_getComplianceStatus_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_getComplianceStatus_v2_404 });\n\n// GET /v2/payer/{clientUserId} -> PayerV2Controller_getComplianceStatus_v2 (429)\nexport const PayerV2Controller_getComplianceStatus_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getComplianceStatus_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_getComplianceStatus_v2_429 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 request (application/json)\nexport const PayerV2Controller_updateComplianceStatus_v2_Request = z.object({ \"agreementCompleted\": z.boolean() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'request', variant: 'application/json' }, schema: PayerV2Controller_updateComplianceStatus_v2_Request });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (200)\nexport const PayerV2Controller_updateComplianceStatus_v2_200 = z.object({ \"success\": (z.boolean()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_updateComplianceStatus_v2_200 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (400)\nexport const PayerV2Controller_updateComplianceStatus_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 400 }, schema: PayerV2Controller_updateComplianceStatus_v2_400 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (401)\nexport const PayerV2Controller_updateComplianceStatus_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_updateComplianceStatus_v2_401 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (404)\nexport const PayerV2Controller_updateComplianceStatus_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_updateComplianceStatus_v2_404 });\n\n// PATCH /v2/payer/{clientUserId} -> PayerV2Controller_updateComplianceStatus_v2 (429)\nexport const PayerV2Controller_updateComplianceStatus_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_updateComplianceStatus_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_updateComplianceStatus_v2_429 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (200)\nexport const PayerV2Controller_getPaymentDetails_v2_200 = z.object({ \"paymentDetails\": (z.array(z.object({ \"id\": (z.string()).optional(), \"userId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"beneficiaryType\": (z.string()).optional(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"status\": (z.string()).optional(), \"rails\": (z.string()).optional() }).passthrough())).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 200 }, schema: PayerV2Controller_getPaymentDetails_v2_200 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (401)\nexport const PayerV2Controller_getPaymentDetails_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_getPaymentDetails_v2_401 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (404)\nexport const PayerV2Controller_getPaymentDetails_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_getPaymentDetails_v2_404 });\n\n// GET /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_getPaymentDetails_v2 (429)\nexport const PayerV2Controller_getPaymentDetails_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_getPaymentDetails_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_getPaymentDetails_v2_429 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 request (application/json)\nexport const PayerV2Controller_createPaymentDetails_v2_Request = z.object({ \"bankName\": z.string(), \"accountName\": z.string(), \"accountNumber\": (z.string()).optional(), \"routingNumber\": (z.string()).optional(), \"beneficiaryType\": z.enum(['individual', 'business']), \"currency\": z.string(), \"addressLine1\": z.string(), \"addressLine2\": (z.string()).optional(), \"city\": z.string(), \"state\": (z.string()).optional(), \"country\": z.string(), \"dateOfBirth\": z.string(), \"postalCode\": z.string(), \"rails\": (z.enum(['local', 'swift', 'wire'])).optional(), \"sortCode\": (z.string()).optional(), \"iban\": (z.string()).optional(), \"swiftBic\": (z.string()).optional(), \"documentNumber\": (z.string()).optional(), \"documentType\": (z.string()).optional(), \"accountType\": (z.enum(['checking', 'savings'])).optional(), \"ribNumber\": (z.string()).optional(), \"bsbNumber\": (z.string()).optional(), \"ncc\": (z.string()).optional(), \"branchCode\": (z.string()).optional(), \"bankCode\": (z.string()).optional(), \"ifsc\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'request', variant: 'application/json' }, schema: PayerV2Controller_createPaymentDetails_v2_Request });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (201)\nexport const PayerV2Controller_createPaymentDetails_v2_201 = z.object({ \"payment_detail\": (z.object({ \"id\": (z.string()).optional(), \"clientUserId\": (z.string()).optional(), \"bankName\": (z.string()).optional(), \"accountName\": (z.string()).optional(), \"currency\": (z.string()).optional(), \"beneficiaryType\": (z.enum(['individual', 'business'])).optional() }).passthrough()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 201 }, schema: PayerV2Controller_createPaymentDetails_v2_201 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (400)\nexport const PayerV2Controller_createPaymentDetails_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 400 }, schema: PayerV2Controller_createPaymentDetails_v2_400 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (401)\nexport const PayerV2Controller_createPaymentDetails_v2_401 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 401 }, schema: PayerV2Controller_createPaymentDetails_v2_401 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (404)\nexport const PayerV2Controller_createPaymentDetails_v2_404 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 404 }, schema: PayerV2Controller_createPaymentDetails_v2_404 });\n\n// POST /v2/payer/{clientUserId}/payment-details -> PayerV2Controller_createPaymentDetails_v2 (429)\nexport const PayerV2Controller_createPaymentDetails_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PayerV2Controller_createPaymentDetails_v2', kind: 'response', status: 429 }, schema: PayerV2Controller_createPaymentDetails_v2_429 });\n"]}
@@ -0,0 +1,3 @@
1
+ export { e as PaymentRecord, a as PaymentSearchOptions, f as PaymentSearchPagination, d as PaymentSearchQuery, b as PaymentSearchResult, P as PaymentsApi, c as createPaymentsApi } from '../../index-CeMw0yOZ.mjs';
2
+ import 'zod';
3
+ import '../../openapi-types-JhYQOcil.mjs';
@@ -0,0 +1,272 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/domains/payments/payments.schemas.ts
4
+
5
+ // src/validation/schema.registry.ts
6
+ function serialiseKey(key) {
7
+ const variant = key.variant ?? "default";
8
+ const status = key.status?.toString() ?? "any";
9
+ return `${key.operationId}|${key.kind}|${variant}|${status}`;
10
+ }
11
+ var SchemaRegistry = class {
12
+ store = /* @__PURE__ */ new Map();
13
+ register(entry) {
14
+ const id = serialiseKey(entry.key);
15
+ this.store.set(id, entry);
16
+ }
17
+ get(key) {
18
+ const id = serialiseKey(key);
19
+ return this.store.get(id)?.schema;
20
+ }
21
+ /**
22
+ * Removes every registered schema — primarily useful in tests.
23
+ */
24
+ clear() {
25
+ this.store.clear();
26
+ }
27
+ };
28
+ var schemaRegistry = new SchemaRegistry();
29
+
30
+ // src/validation/generated/groups/v2/payments.schemas.generated.ts
31
+ var ErrorDetailSchema = z.object({
32
+ message: z.string(),
33
+ code: z.string().optional(),
34
+ field: z.string().optional(),
35
+ source: z.object({
36
+ pointer: z.string().optional(),
37
+ parameter: z.string().optional()
38
+ }).passthrough().optional(),
39
+ meta: z.record(z.unknown()).optional()
40
+ }).passthrough();
41
+ var ErrorEnvelopeSchema = z.object({
42
+ status: z.number().optional(),
43
+ statusCode: z.number().optional(),
44
+ code: z.string().optional(),
45
+ error: z.string().optional(),
46
+ message: z.union([
47
+ z.string(),
48
+ z.array(z.union([z.string(), ErrorDetailSchema])),
49
+ ErrorDetailSchema
50
+ ]).optional(),
51
+ detail: z.unknown().optional(),
52
+ errors: z.array(ErrorDetailSchema).optional(),
53
+ requestId: z.string().optional(),
54
+ correlationId: z.string().optional(),
55
+ retryAfter: z.union([z.number(), z.string()]).optional(),
56
+ retryAfterMs: z.number().optional(),
57
+ meta: z.record(z.unknown()).optional()
58
+ }).passthrough();
59
+ var PaymentV2Controller_searchPayments_v2_200 = z.object({ "payments": z.array(z.object({ "id": z.string(), "amount": z.string(), "sourceNetwork": z.string(), "destinationNetwork": z.string(), "sourceTxHash": z.string().nullable().optional(), "destinationTxHash": z.string().nullable().optional(), "timestamp": z.string(), "type": z.enum(["direct", "conversion", "crosschain", "recurring"]), "conversionRateSource": z.string().nullable().optional(), "conversionRateDestination": z.string().nullable().optional(), "convertedAmountSource": z.string().nullable().optional(), "convertedAmountDestination": z.string().nullable().optional(), "currency": z.string(), "paymentCurrency": z.string(), "fees": z.array(z.object({ "type": z.enum(["gas", "platform", "crosschain", "crypto-to-fiat", "offramp", "protocol"]).optional(), "stage": z.enum(["sending", "receiving", "proxying", "refunding"]).optional(), "provider": z.string().optional(), "amount": z.string().nullable().optional(), "amountInUSD": z.string().nullable().optional(), "currency": z.string().optional(), "receiverAddress": z.string().optional(), "network": z.string().optional(), "rateProvider": z.string().optional() }).passthrough()).nullable().optional(), "recurringPaymentId": z.string().nullable().optional(), "rateProvider": z.enum(["lifi", "chainlink", "coingecko", "unknown"]).optional(), "request": z.object({ "requestId": z.string().optional(), "paymentReference": z.string().optional(), "hasBeenPaid": z.boolean().optional(), "customerInfo": z.object({ "firstName": z.string().optional(), "lastName": z.string().optional(), "email": z.string().optional(), "address": z.object({ "street": z.string().optional(), "city": z.string().optional(), "state": z.string().optional(), "postalCode": z.string().optional(), "country": z.string().optional() }).passthrough().optional() }).passthrough().nullable().optional(), "reference": z.string().nullable().optional() }).passthrough().optional() }).passthrough()), "pagination": z.object({ "total": z.number(), "limit": z.number(), "offset": z.number(), "hasMore": z.boolean() }).passthrough() }).passthrough();
60
+ schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 200 }, schema: PaymentV2Controller_searchPayments_v2_200 });
61
+ var PaymentV2Controller_searchPayments_v2_400 = z.object({ "statusCode": z.number().optional(), "message": z.string().optional(), "errors": z.array(z.object({ "field": z.string().optional(), "message": z.string().optional() }).passthrough()).optional() }).passthrough();
62
+ schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 400 }, schema: PaymentV2Controller_searchPayments_v2_400 });
63
+ var PaymentV2Controller_searchPayments_v2_401 = z.object({ "statusCode": z.number().optional(), "message": z.string().optional(), "error": z.string().optional() }).passthrough();
64
+ schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 401 }, schema: PaymentV2Controller_searchPayments_v2_401 });
65
+ var PaymentV2Controller_searchPayments_v2_429 = ErrorEnvelopeSchema;
66
+ schemaRegistry.register({ key: { operationId: "PaymentV2Controller_searchPayments_v2", kind: "response", status: 429 }, schema: PaymentV2Controller_searchPayments_v2_429 });
67
+
68
+ // src/domains/payments/payments.schemas.ts
69
+ var OP_SEARCH_PAYMENTS = "PaymentV2Controller_searchPayments_v2";
70
+ var AddressSchema = z.object({
71
+ street: z.string().optional(),
72
+ city: z.string().optional(),
73
+ state: z.string().optional(),
74
+ postalCode: z.string().optional(),
75
+ country: z.string().optional()
76
+ }).passthrough();
77
+ var CustomerInfoSchema = z.object({
78
+ firstName: z.string().optional(),
79
+ lastName: z.string().optional(),
80
+ email: z.string().optional(),
81
+ address: AddressSchema.optional()
82
+ }).passthrough();
83
+ var FeeSchema = z.object({
84
+ type: z.enum(["gas", "platform", "crosschain", "crypto-to-fiat", "offramp", "protocol"]).optional(),
85
+ stage: z.enum(["sending", "receiving", "proxying", "refunding"]).optional(),
86
+ provider: z.string().optional(),
87
+ amount: z.string().nullable().optional(),
88
+ amountInUSD: z.string().nullable().optional(),
89
+ currency: z.string().optional(),
90
+ receiverAddress: z.string().optional(),
91
+ network: z.string().optional(),
92
+ rateProvider: z.string().optional()
93
+ }).passthrough();
94
+ var RequestInfoSchema = z.object({
95
+ requestId: z.string().optional(),
96
+ paymentReference: z.string().optional(),
97
+ hasBeenPaid: z.boolean().optional(),
98
+ customerInfo: CustomerInfoSchema.nullable().optional(),
99
+ reference: z.string().nullable().optional()
100
+ }).passthrough();
101
+ var PaymentRecordSchema = z.object({
102
+ id: z.string(),
103
+ amount: z.string(),
104
+ sourceNetwork: z.string(),
105
+ destinationNetwork: z.string(),
106
+ sourceTxHash: z.string().nullable().optional(),
107
+ destinationTxHash: z.string().nullable().optional(),
108
+ timestamp: z.string(),
109
+ type: z.enum(["direct", "conversion", "crosschain", "recurring"]),
110
+ conversionRateSource: z.string().nullable().optional(),
111
+ conversionRateDestination: z.string().nullable().optional(),
112
+ convertedAmountSource: z.string().nullable().optional(),
113
+ convertedAmountDestination: z.string().nullable().optional(),
114
+ currency: z.string(),
115
+ paymentCurrency: z.string(),
116
+ fees: z.array(FeeSchema).nullable().optional(),
117
+ recurringPaymentId: z.string().nullable().optional(),
118
+ rateProvider: z.enum(["lifi", "chainlink", "coingecko", "unknown"]).nullable().optional(),
119
+ request: RequestInfoSchema.optional()
120
+ }).passthrough();
121
+ var PaginationSchema = z.object({
122
+ total: z.number(),
123
+ limit: z.number(),
124
+ offset: z.number(),
125
+ hasMore: z.boolean()
126
+ }).passthrough();
127
+ var PaymentSearchResponseSchema = z.object({
128
+ payments: z.array(PaymentRecordSchema),
129
+ pagination: PaginationSchema
130
+ }).passthrough();
131
+ schemaRegistry.register({
132
+ key: { operationId: OP_SEARCH_PAYMENTS, kind: "response", status: 200 },
133
+ schema: PaymentSearchResponseSchema
134
+ });
135
+
136
+ // src/core/http/validation.config.ts
137
+ function normaliseBoolean(flag, fallback) {
138
+ return typeof flag === "boolean" ? flag : fallback;
139
+ }
140
+ function mergeRuntimeValidation(base, override) {
141
+ if (override === void 0) {
142
+ return base;
143
+ }
144
+ if (typeof override === "boolean") {
145
+ return {
146
+ requests: override,
147
+ responses: override,
148
+ errors: override
149
+ };
150
+ }
151
+ return {
152
+ requests: normaliseBoolean(override.requests, base.requests),
153
+ responses: normaliseBoolean(override.responses, base.responses),
154
+ errors: normaliseBoolean(override.errors, base.errors)
155
+ };
156
+ }
157
+
158
+ // src/validation/zod.helpers.ts
159
+ var ValidationError = class extends Error {
160
+ constructor(message, cause) {
161
+ super(message, { cause });
162
+ this.cause = cause;
163
+ this.name = "ClientValidationError";
164
+ }
165
+ };
166
+ function parseWithSchema(options) {
167
+ const { schema, value, description } = options;
168
+ const outcome = schema.safeParse(value);
169
+ if (outcome.success) {
170
+ return { success: true, data: outcome.data };
171
+ }
172
+ const error = new ValidationError(description ?? "Validation failed", outcome.error);
173
+ return { success: false, error };
174
+ }
175
+ function parseWithRegistry(options) {
176
+ const schema = schemaRegistry.get(options.key);
177
+ if (!schema) {
178
+ if (options.skipOnMissingSchema) {
179
+ return { success: true, data: options.value };
180
+ }
181
+ return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };
182
+ }
183
+ return parseWithSchema({ schema, value: options.value, description: options.description });
184
+ }
185
+
186
+ // src/core/http/operation.helper.ts
187
+ async function requestJson(http, params) {
188
+ const {
189
+ operationId,
190
+ method,
191
+ path,
192
+ query,
193
+ body,
194
+ schemaKey,
195
+ requestSchemaKey,
196
+ description,
197
+ querySerializer,
198
+ signal,
199
+ timeoutMs,
200
+ validation,
201
+ meta
202
+ } = params;
203
+ const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);
204
+ let requestBody = body;
205
+ if (runtimeValidation.requests && requestSchemaKey && body !== void 0) {
206
+ const parsedRequest = parseWithRegistry({
207
+ key: requestSchemaKey,
208
+ value: body,
209
+ description: `${description ?? operationId} request`,
210
+ skipOnMissingSchema: true
211
+ });
212
+ if (!parsedRequest.success) {
213
+ throw parsedRequest.error;
214
+ }
215
+ requestBody = parsedRequest.data;
216
+ }
217
+ const metaValidation = validation ?? meta?.validation;
218
+ const requestMeta = {
219
+ ...meta ?? {},
220
+ operationId,
221
+ validation: metaValidation
222
+ };
223
+ const res = await http.request({
224
+ method,
225
+ path,
226
+ query,
227
+ body: requestBody,
228
+ querySerializer,
229
+ signal,
230
+ timeoutMs,
231
+ meta: requestMeta
232
+ });
233
+ if (!runtimeValidation.responses) {
234
+ return res.data;
235
+ }
236
+ const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });
237
+ if (!parsedResponse.success) throw parsedResponse.error;
238
+ return parsedResponse.data;
239
+ }
240
+
241
+ // src/domains/requests/request.helpers.ts
242
+ function buildRequestQuery(input) {
243
+ if (!input) return void 0;
244
+ const entries = Object.entries(input).filter(([, value]) => value !== void 0);
245
+ if (entries.length === 0) return void 0;
246
+ return Object.fromEntries(entries);
247
+ }
248
+
249
+ // src/domains/payments/payments.facade.ts
250
+ function createPaymentsApi(http) {
251
+ return {
252
+ async search(query, options) {
253
+ const requestQuery = buildRequestQuery(query ? { ...query } : void 0);
254
+ return requestJson(http, {
255
+ operationId: OP_SEARCH_PAYMENTS,
256
+ method: "GET",
257
+ path: "/v2/payments",
258
+ query: requestQuery,
259
+ schemaKey: { operationId: OP_SEARCH_PAYMENTS, kind: "response", status: 200 },
260
+ description: "Search payments",
261
+ signal: options?.signal,
262
+ timeoutMs: options?.timeoutMs,
263
+ validation: options?.validation,
264
+ meta: options?.meta
265
+ });
266
+ }
267
+ };
268
+ }
269
+
270
+ export { createPaymentsApi };
271
+ //# sourceMappingURL=index.js.map
272
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/validation/schema.registry.ts","../../../../src/validation/generated/groups/v2/payments.schemas.generated.ts","../../../../src/domains/payments/payments.schemas.ts","../../../../src/core/http/validation.config.ts","../../../../src/validation/zod.helpers.ts","../../../../src/core/http/operation.helper.ts","../../../../src/domains/requests/request.helpers.ts","../../../../src/domains/payments/payments.facade.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["import type { ZodTypeAny } from \"zod\";\n\nexport type SchemaKind = \"request\" | \"response\" | \"webhook\";\n\nexport interface SchemaKey {\n operationId: string;\n kind: SchemaKind;\n variant?: string;\n status?: number;\n}\n\nexport interface SchemaEntry<TSchema extends ZodTypeAny = ZodTypeAny> {\n key: SchemaKey;\n schema: TSchema;\n}\n\nfunction serialiseKey(key: SchemaKey): string {\n const variant = key.variant ?? \"default\";\n const status = key.status?.toString() ?? \"any\";\n return `${key.operationId}|${key.kind}|${variant}|${status}`;\n}\n\n/**\n * Lightweight registry that associates OpenAPI operation IDs with validation schemas.\n * Generators can populate this map while domain modules retrieve the schemas at runtime.\n */\nexport class SchemaRegistry {\n private readonly store = new Map<string, SchemaEntry>();\n\n register(entry: SchemaEntry): void {\n const id = serialiseKey(entry.key);\n this.store.set(id, entry);\n }\n\n get(key: SchemaKey): ZodTypeAny | undefined {\n const id = serialiseKey(key);\n return this.store.get(id)?.schema;\n }\n\n /**\n * Removes every registered schema — primarily useful in tests.\n */\n clear(): void {\n this.store.clear();\n }\n}\n\nexport const schemaRegistry = new SchemaRegistry();\n","// Auto-generated by scripts/generate-zod.mjs. Do not edit.\nimport { z } from 'zod';\n\nimport { schemaRegistry } from '../../../schema.registry';\n\nconst ErrorDetailSchema = z\n .object({\n message: z.string(),\n code: z.string().optional(),\n field: z.string().optional(),\n source: z\n .object({\n pointer: z.string().optional(),\n parameter: z.string().optional(),\n })\n .passthrough()\n .optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\nconst ErrorEnvelopeSchema = z\n .object({\n status: z.number().optional(),\n statusCode: z.number().optional(),\n code: z.string().optional(),\n error: z.string().optional(),\n message: z\n .union([\n z.string(),\n z.array(z.union([z.string(), ErrorDetailSchema])),\n ErrorDetailSchema,\n ])\n .optional(),\n detail: z.unknown().optional(),\n errors: z.array(ErrorDetailSchema).optional(),\n requestId: z.string().optional(),\n correlationId: z.string().optional(),\n retryAfter: z.union([z.number(), z.string()]).optional(),\n retryAfterMs: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n })\n .passthrough();\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (200)\nexport const PaymentV2Controller_searchPayments_v2_200 = z.object({ \"payments\": z.array(z.object({ \"id\": z.string(), \"amount\": z.string(), \"sourceNetwork\": z.string(), \"destinationNetwork\": z.string(), \"sourceTxHash\": (z.string().nullable()).optional(), \"destinationTxHash\": (z.string().nullable()).optional(), \"timestamp\": z.string(), \"type\": z.enum(['direct', 'conversion', 'crosschain', 'recurring']), \"conversionRateSource\": (z.string().nullable()).optional(), \"conversionRateDestination\": (z.string().nullable()).optional(), \"convertedAmountSource\": (z.string().nullable()).optional(), \"convertedAmountDestination\": (z.string().nullable()).optional(), \"currency\": z.string(), \"paymentCurrency\": z.string(), \"fees\": (z.array(z.object({ \"type\": (z.enum(['gas', 'platform', 'crosschain', 'crypto-to-fiat', 'offramp', 'protocol'])).optional(), \"stage\": (z.enum(['sending', 'receiving', 'proxying', 'refunding'])).optional(), \"provider\": (z.string()).optional(), \"amount\": (z.string().nullable()).optional(), \"amountInUSD\": (z.string().nullable()).optional(), \"currency\": (z.string()).optional(), \"receiverAddress\": (z.string()).optional(), \"network\": (z.string()).optional(), \"rateProvider\": (z.string()).optional() }).passthrough()).nullable()).optional(), \"recurringPaymentId\": (z.string().nullable()).optional(), \"rateProvider\": (z.enum(['lifi', 'chainlink', 'coingecko', 'unknown'])).optional(), \"request\": (z.object({ \"requestId\": (z.string()).optional(), \"paymentReference\": (z.string()).optional(), \"hasBeenPaid\": (z.boolean()).optional(), \"customerInfo\": (z.object({ \"firstName\": (z.string()).optional(), \"lastName\": (z.string()).optional(), \"email\": (z.string()).optional(), \"address\": (z.object({ \"street\": (z.string()).optional(), \"city\": (z.string()).optional(), \"state\": (z.string()).optional(), \"postalCode\": (z.string()).optional(), \"country\": (z.string()).optional() }).passthrough()).optional() }).passthrough().nullable()).optional(), \"reference\": (z.string().nullable()).optional() }).passthrough()).optional() }).passthrough()), \"pagination\": z.object({ \"total\": z.number(), \"limit\": z.number(), \"offset\": z.number(), \"hasMore\": z.boolean() }).passthrough() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 200 }, schema: PaymentV2Controller_searchPayments_v2_200 });\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (400)\nexport const PaymentV2Controller_searchPayments_v2_400 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"errors\": (z.array(z.object({ \"field\": (z.string()).optional(), \"message\": (z.string()).optional() }).passthrough())).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 400 }, schema: PaymentV2Controller_searchPayments_v2_400 });\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (401)\nexport const PaymentV2Controller_searchPayments_v2_401 = z.object({ \"statusCode\": (z.number()).optional(), \"message\": (z.string()).optional(), \"error\": (z.string()).optional() }).passthrough();\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 401 }, schema: PaymentV2Controller_searchPayments_v2_401 });\n\n// GET /v2/payments -> PaymentV2Controller_searchPayments_v2 (429)\nexport const PaymentV2Controller_searchPayments_v2_429 = ErrorEnvelopeSchema;\nschemaRegistry.register({ key: { operationId: 'PaymentV2Controller_searchPayments_v2', kind: 'response', status: 429 }, schema: PaymentV2Controller_searchPayments_v2_429 });\n","import { z } from \"zod\";\n\nimport \"../../validation/generated/groups/v2/payments.schemas.generated\";\nimport { schemaRegistry } from \"../../validation/schema.registry\";\n\nexport const OP_SEARCH_PAYMENTS = \"PaymentV2Controller_searchPayments_v2\";\n\nconst AddressSchema = z\n .object({\n street: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n postalCode: z.string().optional(),\n country: z.string().optional(),\n })\n .passthrough();\n\nexport const CustomerInfoSchema = z\n .object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n email: z.string().optional(),\n address: AddressSchema.optional(),\n })\n .passthrough();\n\nexport const FeeSchema = z\n .object({\n type: z.enum([\"gas\", \"platform\", \"crosschain\", \"crypto-to-fiat\", \"offramp\", \"protocol\"]).optional(),\n stage: z.enum([\"sending\", \"receiving\", \"proxying\", \"refunding\"]).optional(),\n provider: z.string().optional(),\n amount: z.string().nullable().optional(),\n amountInUSD: z.string().nullable().optional(),\n currency: z.string().optional(),\n receiverAddress: z.string().optional(),\n network: z.string().optional(),\n rateProvider: z.string().optional(),\n })\n .passthrough();\n\nexport const RequestInfoSchema = z\n .object({\n requestId: z.string().optional(),\n paymentReference: z.string().optional(),\n hasBeenPaid: z.boolean().optional(),\n customerInfo: CustomerInfoSchema.nullable().optional(),\n reference: z.string().nullable().optional(),\n })\n .passthrough();\n\nexport const PaymentRecordSchema = z\n .object({\n id: z.string(),\n amount: z.string(),\n sourceNetwork: z.string(),\n destinationNetwork: z.string(),\n sourceTxHash: z.string().nullable().optional(),\n destinationTxHash: z.string().nullable().optional(),\n timestamp: z.string(),\n type: z.enum([\"direct\", \"conversion\", \"crosschain\", \"recurring\"]),\n conversionRateSource: z.string().nullable().optional(),\n conversionRateDestination: z.string().nullable().optional(),\n convertedAmountSource: z.string().nullable().optional(),\n convertedAmountDestination: z.string().nullable().optional(),\n currency: z.string(),\n paymentCurrency: z.string(),\n fees: z.array(FeeSchema).nullable().optional(),\n recurringPaymentId: z.string().nullable().optional(),\n rateProvider: z.enum([\"lifi\", \"chainlink\", \"coingecko\", \"unknown\"]).nullable().optional(),\n request: RequestInfoSchema.optional(),\n })\n .passthrough();\n\nexport const PaginationSchema = z\n .object({\n total: z.number(),\n limit: z.number(),\n offset: z.number(),\n hasMore: z.boolean(),\n })\n .passthrough();\n\nexport const PaymentSearchResponseSchema = z\n .object({\n payments: z.array(PaymentRecordSchema),\n pagination: PaginationSchema,\n })\n .passthrough();\n\nexport type PaymentRecord = z.infer<typeof PaymentRecordSchema>;\nexport type PaymentFee = z.infer<typeof FeeSchema>;\nexport type PaymentSearchResponse = z.infer<typeof PaymentSearchResponseSchema>;\nexport type PaymentSearchPagination = z.infer<typeof PaginationSchema>;\n\nschemaRegistry.register({\n key: { operationId: OP_SEARCH_PAYMENTS, kind: \"response\", status: 200 },\n schema: PaymentSearchResponseSchema,\n});\n","import type { RuntimeValidationConfig, RuntimeValidationOption } from \"./http.types\";\n\nconst DEFAULT_RUNTIME_VALIDATION: RuntimeValidationConfig = {\n requests: true,\n responses: true,\n errors: true,\n};\n\nfunction normaliseBoolean(flag: boolean | undefined, fallback: boolean): boolean {\n return typeof flag === \"boolean\" ? flag : fallback;\n}\n\nexport function normaliseRuntimeValidation(option?: RuntimeValidationOption): RuntimeValidationConfig {\n if (typeof option === \"boolean\") {\n return {\n requests: option,\n responses: option,\n errors: option,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(option?.requests, DEFAULT_RUNTIME_VALIDATION.requests),\n responses: normaliseBoolean(option?.responses, DEFAULT_RUNTIME_VALIDATION.responses),\n errors: normaliseBoolean(option?.errors, DEFAULT_RUNTIME_VALIDATION.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function mergeRuntimeValidation(base: RuntimeValidationConfig, override?: RuntimeValidationOption): RuntimeValidationConfig {\n if (override === undefined) {\n return base;\n }\n\n if (typeof override === \"boolean\") {\n return {\n requests: override,\n responses: override,\n errors: override,\n } satisfies RuntimeValidationConfig;\n }\n\n return {\n requests: normaliseBoolean(override.requests, base.requests),\n responses: normaliseBoolean(override.responses, base.responses),\n errors: normaliseBoolean(override.errors, base.errors),\n } satisfies RuntimeValidationConfig;\n}\n\nexport function cloneRuntimeValidation(config: RuntimeValidationConfig): RuntimeValidationConfig {\n return { ...config };\n}\n","import { type SafeParseReturnType, type ZodTypeAny } from \"zod\";\n\nimport type { SchemaKey } from \"./schema.registry\";\nimport { schemaRegistry } from \"./schema.registry\";\n\nexport type SchemaOutput<TSchema extends ZodTypeAny> = TSchema[\"_output\"];\n\nexport interface ParseWithSchemaOptions<TSchema extends ZodTypeAny> {\n schema: TSchema;\n value: unknown;\n description?: string;\n}\n\nexport interface ParseRegistryOptions {\n key: SchemaKey;\n value: unknown;\n description?: string;\n skipOnMissingSchema?: boolean;\n}\n\nexport interface ParseResult<T> {\n success: boolean;\n data?: T;\n error?: unknown;\n}\n\nexport class ValidationError extends Error {\n constructor(message: string, readonly cause?: unknown) {\n super(message, { cause });\n this.name = \"ClientValidationError\";\n }\n}\n\nexport function parseWithSchema<TSchema extends ZodTypeAny>(\n options: ParseWithSchemaOptions<TSchema>,\n): ParseResult<SchemaOutput<TSchema>> {\n const { schema, value, description } = options;\n const outcome: SafeParseReturnType<unknown, SchemaOutput<TSchema>> = schema.safeParse(value);\n if (outcome.success) {\n return { success: true, data: outcome.data };\n }\n\n const error = new ValidationError(description ?? \"Validation failed\", outcome.error);\n return { success: false, error };\n}\n\nexport function parseWithRegistry<TSchema extends ZodTypeAny>(options: ParseRegistryOptions): ParseResult<SchemaOutput<TSchema>> {\n const schema = schemaRegistry.get(options.key) as TSchema | undefined;\n if (!schema) {\n if (options.skipOnMissingSchema) {\n return { success: true, data: options.value as SchemaOutput<TSchema> };\n }\n return { success: false, error: new ValidationError(`No schema registered for ${options.key.operationId}`) };\n }\n\n return parseWithSchema({ schema, value: options.value, description: options.description });\n}\n","import type { HttpClient, HttpMethod, RequestOptions, RuntimeValidationOption } from \"./http.types\";\nimport { mergeRuntimeValidation } from \"./validation.config\";\nimport type { SchemaKey } from \"../../validation/schema.registry\";\nimport { parseWithRegistry } from \"../../validation/zod.helpers\";\n\ntype Query = NonNullable<RequestOptions[\"query\"]>;\n\nexport interface RequestJsonParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n schemaKey: SchemaKey;\n requestSchemaKey?: SchemaKey;\n description?: string;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestJson<T>(http: HttpClient, params: RequestJsonParams): Promise<T> {\n const {\n operationId,\n method,\n path,\n query,\n body,\n schemaKey,\n requestSchemaKey,\n description,\n querySerializer,\n signal,\n timeoutMs,\n validation,\n meta,\n } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${description ?? operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n const res = await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n\n if (!runtimeValidation.responses) {\n return res.data as T;\n }\n\n const parsedResponse = parseWithRegistry({ key: schemaKey, value: res.data, description });\n if (!parsedResponse.success) throw parsedResponse.error;\n return parsedResponse.data as T;\n}\n\nexport interface RequestVoidParams {\n operationId: string;\n method: HttpMethod;\n path: string;\n query?: Query;\n body?: unknown;\n querySerializer?: RequestOptions[\"querySerializer\"];\n signal?: RequestOptions[\"signal\"];\n timeoutMs?: RequestOptions[\"timeoutMs\"];\n requestSchemaKey?: SchemaKey;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport async function requestVoid(http: HttpClient, params: RequestVoidParams): Promise<void> {\n const { operationId, method, path, query, body, querySerializer, signal, timeoutMs, requestSchemaKey, validation, meta } = params;\n\n const runtimeValidation = mergeRuntimeValidation(http.getRuntimeValidationConfig(), validation);\n\n let requestBody = body;\n if (runtimeValidation.requests && requestSchemaKey && body !== undefined) {\n const parsedRequest = parseWithRegistry({\n key: requestSchemaKey,\n value: body,\n description: `${operationId} request`,\n skipOnMissingSchema: true,\n });\n if (!parsedRequest.success) {\n throw parsedRequest.error;\n }\n requestBody = parsedRequest.data;\n }\n\n const metaValidation = validation ?? meta?.validation;\n const requestMeta: RequestOptions[\"meta\"] = {\n ...(meta ?? {}),\n operationId,\n validation: metaValidation,\n };\n\n await http.request({\n method,\n path,\n query,\n body: requestBody,\n querySerializer,\n signal,\n timeoutMs,\n meta: requestMeta,\n });\n}\n","import type { RequestOptions } from \"../../core/http/http.types\";\nimport type { operations } from \"../../generated/openapi-types\";\n\ntype QueryValue = string | number | boolean | (string | number | boolean)[];\n\n/**\n * Builds a query object while stripping out undefined entries so the HTTP helper\n * does not emit spurious `param=undefined` pairs.\n */\nexport function buildRequestQuery(input?: Record<string, unknown>): RequestOptions[\"query\"] | undefined {\n if (!input) return undefined;\n const entries = Object.entries(input).filter(([, value]) => value !== undefined);\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries) as Record<string, QueryValue | undefined>;\n}\n\ntype LegacyStatusApiResponse =\n operations[\"RequestControllerV1_getRequestStatus_v1\"][\"responses\"][200][\"content\"][\"application/json\"];\ntype StatusApiResponseV2 =\n operations[\"RequestControllerV2_getRequestStatus_v2\"][\"responses\"][200][\"content\"][\"application/json\"];\n\nexport interface RequestStatusAddress {\n street?: string;\n city?: string;\n state?: string;\n postalCode?: string;\n country?: string;\n}\n\nexport interface RequestStatusCustomerInfo {\n firstName?: string;\n lastName?: string;\n email?: string;\n address?: RequestStatusAddress;\n}\n\nexport type RequestStatusKind = \"paid\" | \"pending\" | \"cancelled\" | \"overdue\" | \"unknown\";\n\ninterface RequestStatusBase {\n paymentReference?: string;\n requestId?: string;\n isListening?: boolean;\n txHash: string | null;\n status?: string;\n recurrence?: Record<string, unknown>;\n originalRequestId?: string;\n originalRequestPaymentReference?: string;\n isRecurrenceStopped?: boolean;\n isCryptoToFiatAvailable?: boolean;\n payments?: Array<Record<string, unknown>>;\n customerInfo?: RequestStatusCustomerInfo | null;\n reference?: string | null;\n hasBeenPaid?: boolean;\n}\n\nexport type RequestStatusResult =\n | (RequestStatusBase & { kind: \"paid\"; hasBeenPaid: true })\n | (RequestStatusBase & { kind: \"pending\"; hasBeenPaid?: boolean })\n | (RequestStatusBase & { kind: \"cancelled\"; hasBeenPaid?: boolean })\n | (RequestStatusBase & { kind: \"overdue\"; hasBeenPaid?: boolean })\n | (RequestStatusBase & { kind: \"unknown\"; hasBeenPaid?: boolean });\n\nexport type LegacyRequestStatusResult = Extract<RequestStatusResult, { kind: \"paid\" | \"pending\" }>;\n\nconst STATUS_KIND_MAP: Record<string, RequestStatusKind> = {\n paid: \"paid\",\n completed: \"paid\",\n settled: \"paid\",\n pending: \"pending\",\n processing: \"pending\",\n open: \"pending\",\n awaitingpayment: \"pending\",\n awaiting_payment: \"pending\",\n cancelled: \"cancelled\",\n canceled: \"cancelled\",\n voided: \"cancelled\",\n overdue: \"overdue\",\n expired: \"overdue\",\n};\n\nfunction normalizeReference(value: string | null | undefined): string | null | undefined {\n if (value === undefined) return undefined;\n return value;\n}\n\nfunction normalizeCustomerInfo(value: RequestStatusCustomerInfo | null | undefined): RequestStatusCustomerInfo | null | undefined {\n if (value === undefined) return undefined;\n if (value === null) return null;\n return {\n firstName: value.firstName ?? undefined,\n lastName: value.lastName ?? undefined,\n email: value.email ?? undefined,\n address: value.address\n ? {\n street: value.address.street ?? undefined,\n city: value.address.city ?? undefined,\n state: value.address.state ?? undefined,\n postalCode: value.address.postalCode ?? undefined,\n country: value.address.country ?? undefined,\n }\n : undefined,\n };\n}\n\nfunction normalizePayments(payments: StatusApiResponseV2[\"payments\"]): Array<Record<string, unknown>> | undefined {\n if (!payments) return undefined;\n return payments.map((payment) => ({ ...payment })) as Array<Record<string, unknown>>;\n}\n\nfunction buildStatusBase(\n raw: LegacyStatusApiResponse | StatusApiResponseV2,\n overrides?: Partial<RequestStatusBase>,\n): RequestStatusBase {\n return {\n paymentReference: raw.paymentReference ?? undefined,\n requestId: raw.requestId ?? undefined,\n isListening: \"isListening\" in raw ? raw.isListening ?? undefined : undefined,\n txHash: raw.txHash ?? null,\n hasBeenPaid: raw.hasBeenPaid ?? false,\n status: \"status\" in raw ? (raw).status ?? undefined : undefined,\n recurrence:\n \"recurrence\" in raw ? ((raw).recurrence as Record<string, unknown> | undefined) : undefined,\n originalRequestId: \"originalRequestId\" in raw ? (raw).originalRequestId ?? undefined : undefined,\n originalRequestPaymentReference:\n \"originalRequestPaymentReference\" in raw\n ? (raw).originalRequestPaymentReference ?? undefined\n : undefined,\n isRecurrenceStopped:\n \"isRecurrenceStopped\" in raw ? (raw).isRecurrenceStopped ?? undefined : undefined,\n isCryptoToFiatAvailable:\n \"isCryptoToFiatAvailable\" in raw\n ? (raw).isCryptoToFiatAvailable ?? undefined\n : undefined,\n payments: \"payments\" in raw ? normalizePayments((raw).payments) : undefined,\n customerInfo:\n \"customerInfo\" in raw\n ? normalizeCustomerInfo(\n (raw).customerInfo as RequestStatusCustomerInfo | null | undefined,\n )\n : undefined,\n reference:\n \"reference\" in raw ? normalizeReference((raw).reference ?? null) : undefined,\n ...overrides,\n };\n}\n\nexport function normalizeLegacyStatusResponse(raw: LegacyStatusApiResponse): LegacyRequestStatusResult {\n if (raw.hasBeenPaid) {\n return {\n kind: \"paid\",\n ...buildStatusBase(raw, { hasBeenPaid: true }),\n hasBeenPaid: true,\n };\n }\n\n return {\n kind: \"pending\",\n ...buildStatusBase(raw, { hasBeenPaid: false }),\n hasBeenPaid: false,\n };\n}\n\nexport function normalizeRequestStatusResponse(raw: StatusApiResponseV2): RequestStatusResult {\n const statusKey = raw.status?.trim().toLowerCase();\n const mapped = statusKey ? STATUS_KIND_MAP[statusKey] : undefined;\n const kind: RequestStatusKind = raw.hasBeenPaid\n ? \"paid\"\n : mapped ?? (statusKey ? \"unknown\" : \"pending\");\n\n if (kind === \"paid\") {\n return {\n kind,\n ...buildStatusBase(raw, { hasBeenPaid: true }),\n hasBeenPaid: true,\n };\n }\n\n return {\n kind,\n ...buildStatusBase(raw, { hasBeenPaid: false }),\n hasBeenPaid: false,\n };\n}\n","import {\n OP_SEARCH_PAYMENTS,\n type PaymentSearchPagination,\n type PaymentSearchResponse,\n type PaymentRecord,\n} from \"./payments.schemas\";\nimport type { HttpClient, RequestOptions, RuntimeValidationOption } from \"../../core/http/http.types\";\nimport { requestJson } from \"../../core/http/operation.helper\";\nimport type { operations } from \"../../generated/openapi-types\";\nimport { buildRequestQuery } from \"../requests/request.helpers\";\n\nexport type PaymentSearchQuery = operations[typeof OP_SEARCH_PAYMENTS][\"parameters\"][\"query\"];\n\nexport interface PaymentSearchOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n validation?: RuntimeValidationOption;\n meta?: RequestOptions[\"meta\"];\n}\n\nexport type PaymentSearchResult = PaymentSearchResponse;\n\nexport interface PaymentsApi {\n search(query: PaymentSearchQuery, options?: PaymentSearchOptions): Promise<PaymentSearchResult>;\n}\n\nexport function createPaymentsApi(http: HttpClient): PaymentsApi {\n return {\n async search(query, options) {\n const requestQuery = buildRequestQuery(query ? { ...query } : undefined);\n return requestJson<PaymentSearchResponse>(http, {\n operationId: OP_SEARCH_PAYMENTS,\n method: \"GET\",\n path: \"/v2/payments\",\n query: requestQuery,\n schemaKey: { operationId: OP_SEARCH_PAYMENTS, kind: \"response\", status: 200 },\n description: \"Search payments\",\n signal: options?.signal,\n timeoutMs: options?.timeoutMs,\n validation: options?.validation,\n meta: options?.meta,\n });\n },\n };\n}\n\nexport type { PaymentRecord, PaymentSearchPagination };\n"]}
@@ -1,2 +1,2 @@
1
- export { a as PayoutOperationOptions, P as PayoutsApi, c as createPayoutsApi } from '../../index-y1nxa55y.mjs';
2
- import '../../openapi-types-CQ1z27_K.mjs';
1
+ export { a as PayoutOperationOptions, P as PayoutsApi, c as createPayoutsApi } from '../../index-DuMayMNI.mjs';
2
+ import '../../openapi-types-JhYQOcil.mjs';
@@ -1,2 +1,3 @@
1
- export { G as GetPaymentCalldataOptions, f as GetPaymentRoutesOptions, P as PaymentCalldataResult, b as PaymentRoute, a as PaymentRoutesResponse, e as RequestOperationOptions, j as RequestStatusAddress, h as RequestStatusCustomerInfo, g as RequestStatusKind, c as RequestStatusResult, R as RequestsApi, d as createRequestsApi } from '../../index-DbnV_D6L.mjs';
2
- import '../../openapi-types-CQ1z27_K.mjs';
1
+ export { G as GetPaymentCalldataOptions, f as GetPaymentRoutesOptions, L as ListRequestsOptions, e as ListRequestsResponse, P as PaymentCalldataResult, b as PaymentRoute, a as PaymentRoutesResponse, d as RequestOperationOptions, R as RequestsApi, c as createRequestsApi } from '../../index-DPx06HBi.mjs';
2
+ export { a as RequestStatusAddress, b as RequestStatusCustomerInfo, c as RequestStatusKind, R as RequestStatusResult } from '../../request.helpers-DgzNANMt.mjs';
3
+ import '../../openapi-types-JhYQOcil.mjs';