@mbanq/core-sdk-js 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,32 +0,0 @@
1
- import rt from"axios";var y=({message:e,statusCode:a,code:i,requestId:o,originalError:p})=>({name:"CommandError",message:e,statusCode:a,code:i,requestId:o,originalError:p}),dn=e=>typeof e=="object"&&e!==null&&"name"in e&&e.name==="CommandError",it=e=>{if(!e||typeof e!="object")return e;let a={...e};if(a.config&&typeof a.config=="object"){let i=a.config;if(i.httpsAgent&&typeof i.httpsAgent=="object"){let o=i.httpsAgent;delete o.sockets,delete o.freeSockets,delete o._sessionCache}}return a},u=e=>{if(rt.isAxiosError(e)){let a=e.response?.data?.message,i=e.response?.status?`Request failed with status code ${e.response.status}`:e.message||"Request failed";throw y({message:a||i,statusCode:e.response?.status,code:e.code,requestId:e.response?.headers?.["x-request-id"],originalError:it(e)})}throw e};import{z as r}from"zod";var _=r.enum(["originatorName","originatorAccount","originatorBankRoutingCode","recipientName","recipientAccount","recipientBankRoutingCode","reference","traceNumber","externalId","clientId","dateFormat","locale","originatedBy","paymentRail","paymentType","fromValueDate","toValueDate","fromExecuteDate","toExecuteDate","status","fromReturnDate","toReturnDate","isSettlement","orderBy","sortOrder"]),v=r.enum(["DRAFT","AML_SCREENING","AML_REJECTED","EXECUTION_SCHEDULED","EXECUTION_PROCESSING","EXECUTION_SUCCESS","EXECUTION_FAILURE","RETURNED","CANCELLED","COMPLIANCE_FAILURE","DELETED","UNKNOWN"]),R=r.enum(["ACH","SAMEDAYACH","WIRE","SWIFT","INTERNAL","FXPAY","CARD"]),D=r.enum(["CREDIT","DEBIT"]),F=r.enum(["ASC","DESC"]),un=_.options,yn=v.options,gn=R.options,fn=D.options,bn=F.options,G=e=>_.parse(e),M=e=>v.parse(e),K=e=>R.parse(e),V=e=>D.parse(e),W=e=>F.parse(e),Q=r.string().min(1),H=r.string().min(1),Y=r.string().min(1),J=r.string().min(1),X=r.string().min(1),Z=r.string().min(1),ee=r.string().min(1),te=r.string().min(1),ne=r.string().min(1),ae=r.union([r.string(),r.number()]),re=r.string(),ie=r.string(),oe=r.string(),L=r.string(),k=r.string(),q=r.string(),se=r.boolean(),ce=r.string(),pe=e=>Q.parse(e),de=e=>H.parse(e),le=e=>Y.parse(e),me=e=>J.parse(e),ue=e=>X.parse(e),ye=e=>Z.parse(e),ge=e=>ee.parse(e),fe=e=>te.parse(e),be=e=>ne.parse(e),he=e=>ae.parse(e),Ce=e=>re.parse(e),Ie=e=>ie.parse(e),Re=e=>oe.parse(e),xe=e=>L.parse(e),Se=e=>k.parse(e),ve=e=>q.parse(e),De=e=>se.parse(e),Ae=e=>ce.parse(e),ot={originatorName:Q.optional(),originatorAccount:H.optional(),originatorBankRoutingCode:Y.optional(),recipientName:J.optional(),recipientAccount:X.optional(),recipientBankRoutingCode:Z.optional(),reference:ee.optional(),traceNumber:te.optional(),externalId:ne.optional(),clientId:ae.optional(),dateFormat:re.optional(),locale:ie.optional(),originatedBy:oe.optional(),paymentRail:R.optional(),paymentType:D.optional(),fromValueDate:L.optional(),toValueDate:L.optional(),fromExecuteDate:k.optional(),toExecuteDate:k.optional(),status:v.optional(),fromReturnDate:q.optional(),toReturnDate:q.optional(),isSettlement:se.optional(),orderBy:ce.optional(),sortOrder:F.optional(),limit:r.number().min(0).optional().describe("Maximum number of records to return. Defaults to 20 if not specified. Set to 0 to return all records."),offset:r.number().min(0).optional()},hn=r.object(ot).partial();var st={id:r.number(),clientId:r.number(),amount:r.number().positive(),correlationId:r.string(),paymentType:D,paymentRail:R,recipient:r.object({cardId:r.string().optional(),recipientType:r.string(),address:r.object({line1:r.string().optional(),line2:r.string().optional(),stateCode:r.string().optional(),countryCode:r.string(),postalCode:r.string().optional()}),name:r.string()}),originator:r.object({accountId:r.string().optional(),recipientType:r.string(),address:r.object({line1:r.string().optional(),line2:r.string().optional(),stateCode:r.string().optional(),countryCode:r.string(),postalCode:r.string().optional()}),name:r.string()}),executedAt:r.string(),createdAt:r.string(),externalId:r.string(),status:v,paymentRailMetaData:r.record(r.string(),r.any()).optional(),currencyData:r.object({code:r.string(),name:r.string(),decimalPlaces:r.number(),displaySymbol:r.string(),nameCode:r.string(),currencyCodeInDigit:r.number(),isBaseCurrency:r.boolean()}),currency:r.string().min(3).max(3)},Pe=r.object(st).catchall(r.any()),Ee=r.object({streetAddress:r.string().optional(),city:r.string().optional(),state:r.string().optional(),country:r.string().optional(),postalCode:r.string().optional()}).optional(),ct=r.object({name:r.string().optional(),identifier:r.string().optional(),address:Ee}).optional(),N=r.object({name:r.string(),identifier:r.string(),accountType:r.enum(["CHECKING","SAVINGS"]).optional(),address:Ee,agent:ct}),pt={amount:r.number().positive(),currency:r.string().min(3).max(3),paymentRail:R,paymentType:D,debtor:N,creditor:N,clientId:r.string().optional(),correspondent:N.optional(),exchangeRate:r.number().positive().optional(),externalId:r.string().optional(),reference:r.union([r.string(),r.array(r.string())]).optional(),paymentRailMetaData:r.record(r.string(),r.any()).optional(),chargeBearer:r.enum(["OUR","BEN","SHA"]).optional(),purposeCode:r.string().optional(),valueDate:r.string().optional(),executionDate:r.string().optional()},dt=r.object(pt).catchall(r.any()).refine(e=>(e.paymentRail==="WIRE"||e.paymentRail==="SWIFT")&&e.creditor?e.creditor.address&&e.creditor.address.state&&e.creditor.address.country:!0,{message:"For WIRE transfers, recipient address with state and country is mandatory"}),lt={amount:r.number().positive().optional(),correspondent:r.object({name:r.string().optional(),identifier:r.string().optional(),accountType:r.string().optional()}).optional(),creditor:r.object({name:r.string().optional(),identifier:r.string().optional(),accountType:r.string().optional(),agent:r.object({name:r.string().optional(),identifier:r.string().optional()}).optional()}).optional(),debtor:r.object({name:r.string().optional(),identifier:r.string().optional(),accountType:r.string().optional(),agent:r.object({name:r.string().optional(),identifier:r.string().optional()}).optional()}).optional(),exchangeRate:r.number().positive().optional(),externalId:r.string().optional(),errorCode:r.string().optional(),errorMessage:r.string().optional(),reference:r.union([r.string(),r.array(r.string())]).optional(),paymentRailMetaData:r.record(r.string(),r.any()).optional(),status:v.optional()},mt=r.object(lt).catchall(r.any()),Cn=r.object({totalFilteredRecords:r.number(),pageItems:r.array(Pe)}),E=e=>Pe.parse(e),Oe=e=>dt.parse(e),we=e=>mt.parse(e);var In=r.object({id:r.string(),clientId:r.number(),resourceId:r.number(),resourceIdentifier:r.string()});import gt from"axios";import{v4 as ft}from"uuid";import*as ke from"https";import ut from"axios";import yt from"jsonwebtoken";var Te=(e,a)=>{if(!e)throw y({message:"Missing JWT secret",code:"missing_jwt_secret"});return yt.sign({signee:a},e,{algorithm:"HS512",expiresIn:"1d"})||""},Ne=async(e,a,i,o)=>{let p={method:"POST",url:`${a}/oauth/token`,headers:{"Content-Type":"application/x-www-form-urlencoded",tenantId:i},data:o},{data:{access_token:d}}=await ut.request(p);return e=d,e};var Le={token:""},bt=e=>e&&(e.startsWith("Bearer ")?e:`Bearer ${e}`),m=async e=>{let i=gt.create({timeout:e.axiosConfig?.timeout||29e3,baseURL:e.baseUrl,headers:{"Content-Type":"application/json; charset=utf-8","JWT-Token":e?.secret?`${Te(e?.secret,e?.signee||"")}`:void 0,Authorization:e.bearerToken!==void 0?bt(e.bearerToken):e.credential?`Bearer ${Le.token||await Ne(Le.token,e.baseUrl,e.tenantId,e.credential)}`:void 0,"trace-id":e.traceId||`RequestUUID=${ft()}`,tenantId:e.tenantId},httpsAgent:new ke.Agent({rejectUnauthorized:!0,keepAlive:e.axiosConfig?.keepAlive})});return e.logger&&e.logger(i),i};import{ZodError as O}from"zod";var ht=e=>{try{G(e)}catch(a){throw a instanceof O?y({message:`Invalid filter key: '${e}'. ${a.message}`,code:"invalid_filter_key"}):a}},Ct=(e,a)=>{try{switch(e){case"status":M(a);break;case"paymentRail":K(a);break;case"paymentType":V(a);break;case"sortOrder":W(a);break;case"originatorName":pe(a);break;case"originatorAccount":de(a);break;case"originatorBankRoutingCode":le(a);break;case"recipientName":me(a);break;case"recipientAccount":ue(a);break;case"recipientBankRoutingCode":ye(a);break;case"reference":ge(a);break;case"traceNumber":fe(a);break;case"externalId":be(a);break;case"clientId":he(a);break;case"dateFormat":Ce(a);break;case"locale":Ie(a);break;case"originatedBy":Re(a);break;case"fromValueDate":case"toValueDate":xe(a);break;case"fromExecuteDate":case"toExecuteDate":Se(a);break;case"fromReturnDate":case"toReturnDate":ve(a);break;case"isSettlement":De(a);break;case"orderBy":Ae(a);break;default:break}}catch(i){throw i instanceof O?y({message:`Invalid value for '${e}': '${a}'. ${i.message}`,code:`invalid_${e}_value`}):i}},qn=e=>({input:e,metadata:{commandName:"CreatePayment",path:"/v1/payments",method:"POST"},execute:async a=>{try{Oe(e.payment)}catch(o){throw o instanceof O?y({message:`Invalid payment data: ${o.message}`,code:"invalid_payment_input"}):o}e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{let o=await i.post("/v1/payments",e.payment);return E(o.data)}catch(o){u(o)}}}),Fn=e=>({input:e,metadata:{commandName:"GetPayment",path:`/v1/payments/${e.id}`,method:"GET"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{let o=await i.get(`/v1/payments/${e.id}`);return E(o.data)}catch(o){u(o)}}}),Bn=e=>({input:e,metadata:{commandName:"UpdatePayment",path:`/v1/payments/${e.id}`,method:"PUT"},execute:async a=>{try{we(e.payment)}catch(o){throw o instanceof O?y({message:`Invalid payment update data: ${o.message}`,code:"invalid_payment_update_input"}):o}e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{let o=await i.put(`/v1/payments/${e.id}`,e.payment);return E(o.data)}catch(o){u(o)}}}),A=(e,a,i,o)=>{if(a!==void 0&&a!==0&&a<=0)throw y({message:`Invalid limit: ${a}. Limit must be positive or 0 for fetching all records.`,code:"invalid_limit"});if(i!==void 0&&i<0)throw y({message:`Invalid offset: ${i}. Offset must be non-negative.`,code:"invalid_offset"});return{where:c=>(ht(c),{eq:l=>(Ct(c,l),A({...e,[c]:l},a,i,o))}),limit:c=>A(e,c,i,o),offset:c=>A(e,a,c,o),all:()=>A(e,0,i,o),execute:()=>{let c={locale:"en",originatedBy:"us",orderBy:"id",sortOrder:"DESC"},l={...c,...e,limit:a||200,offset:i||0};return{input:{filters:e,limit:a,offset:i,tenantId:o},metadata:{commandName:"ListPayments",path:"/v1/payments",method:"GET"},execute:async g=>{o&&(g.tenantId=o);let f=await m(g);try{if(a===0){let h=[],C=i||0,I=0;do{let x={...c,...e,limit:200,offset:C},S=await f.get("/v1/payments",{params:x}),{totalFilteredRecords:T,pageItems:at}=S.data;h.push(...at),I=T,C+=200}while(C<I);return{totalFilteredRecords:I,pageItems:h}}else return(await f.get("/v1/payments",{params:l})).data}catch(h){u(h)}}}}}},Un=e=>({list:()=>A({},void 0,void 0,e?.tenantId)}),jn=(e,a)=>({input:{params:e,configuration:a},metadata:{commandName:"GetPayments",path:"/v1/payments",method:"GET"},execute:async i=>{a?.tenantId&&(i.tenantId=a.tenantId);let o=await m(i),p=[],d=e.limit||20,c=e.offset||0,l=0,h={...{locale:"en",originatedBy:"us",orderBy:"id",sortOrder:"DESC"},...(b=>{let I=["fromValueDate","toValueDate","fromExecuteDate","toExecuteDate","fromReturnDate","toReturnDate"].some(S=>b[S]!==void 0),x={...b};return I&&x.dateFormat===void 0&&(x.dateFormat="yyyy-MM-dd"),x})(e),limit:d,offset:c};try{if(e.limit===0){do{let b=await o.get("/v1/payments",{params:h}),{totalFilteredRecords:C,pageItems:I}=b.data;p.push(...I),l=C,c+=d}while(c<l);return{totalFilteredRecords:l,pageItems:p}}else return(await o.get("/v1/payments",{params:h})).data}catch(b){u(b)}}}),zn=e=>({input:e,metadata:{commandName:"DeletePayment",path:`/v1/payments/${e.id}`,method:"DELETE"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{await i.delete(`/v1/payments/${e.id}`)}catch(o){u(o)}}});import t from"zod";var qe=t.object({id:t.number(),code:t.string(),value:t.string()}),Fe=t.object({id:t.number(),code:t.string(),value:t.string()}),Be=t.object({active:t.boolean(),mandatory:t.boolean(),systemDefined:t.boolean()}),Ue=t.object({id:t.number()}),je=t.object({id:t.number(),name:t.string().optional()}),ze=t.object({active:t.boolean()}),$e=t.object({submittedOnDate:t.array(t.number()),submittedByUsername:t.string().optional(),submittedByFirstname:t.string().optional(),submittedByLastname:t.string().optional(),activatedOnDate:t.array(t.number()).optional(),activatedByUsername:t.string().optional(),activatedByFirstname:t.string().optional(),activatedByLastname:t.string().optional()}),It=t.object({}).catchall(t.any()),Rt=t.object({}).catchall(t.any()),xt=t.object({}).catchall(t.any()),_e=t.object({constitution:It,mainBusinessLine:Rt,countryOfIncorporation:xt}).catchall(t.any()),Ge=t.object({isExternalCardDebitDisable:t.boolean(),isExternalCardCreditDisable:t.boolean(),isAchDebitOutgoingDisable:t.boolean(),isAchCreditOutgoingDisable:t.boolean(),isAchDebitIncomingDisable:t.boolean(),isAchCreditIncomingDisable:t.boolean(),isInternalCreditDisable:t.boolean(),isInternalDebitDisable:t.boolean(),isWireCreditOutgoingDisable:t.boolean(),isWireCreditIncomingDisable:t.boolean(),isSwiftCreditOutgoingDisable:t.boolean(),isSwiftCreditIncomingDisable:t.boolean(),isFxpayCreditOutgoingDisable:t.boolean(),isAllocateToSubAccountDisable:t.boolean(),isInternalCreditOwnDisable:t.boolean(),type:t.string(),resourceId:t.number(),id:t.number()}).catchall(t.any()),Me=t.object({}).catchall(t.any()),Ke=t.object({id:t.number(),accountNo:t.string(),status:Fe,subStatus:Be,active:t.boolean(),activationDate:t.array(t.number()).optional(),firstname:t.string(),lastname:t.string(),displayName:t.string(),mobileNo:t.string(),emailAddress:t.string(),dateOfBirth:t.array(t.number()),gender:Ue,clientTypes:t.array(t.any()),clientClassification:je,occupation:ze,isStaff:t.boolean(),skipAvs:t.boolean(),officeId:t.number(),officeName:t.string(),imageId:t.string().optional(),imagePresent:t.boolean().optional(),timeline:$e,legalForm:qe,clientVerificationStatus:t.string(),updatedAt:t.string(),isBlockExternalCardsAddition:t.boolean(),clientNonPersonDetails:_e,clientTransferOptionData:Ge,authorizations:t.array(t.number()).optional(),mobileCountryCode:t.string(),clientKycStatus:Me,ofLoanCycle:t.number(),ofLoanActive:t.number(),activeDepositAccount:t.number(),onBoardingStatus:t.string().optional()}).catchall(t.any()),St=t.object({riskScore:t.number(),rating:t.string()}).catchall(t.any()),vt=t.object({street:t.string(),city:t.string(),state:t.string(),zipCode:t.string()}).catchall(t.any()),Dt=t.object({type:t.string(),value:t.string()}).catchall(t.any()),At={firstname:t.string(),middlename:t.string().optional(),lastname:t.string(),fullname:t.string().optional(),dob:t.string(),genderId:t.number(),locale:t.string(),officeId:t.number(),mobileCountryCode:t.string(),mobileNo:t.string(),emailAddress:t.string().email(),legalFormId:t.number(),externalId:t.string().optional(),isOptedForMLALStatus:t.boolean().optional(),currentMLALStatus:t.string().optional(),isStaff:t.boolean().optional(),staffId:t.number().optional(),clientClassificationId:t.number().optional(),savingsProductId:t.number().optional(),active:t.boolean().optional(),dateFormat:t.string(),activationDate:t.string().optional(),submittedOnDate:t.string(),dateOfBirth:t.string()},Mn=t.object(At).catchall(t.any()),Pt={clientId:t.number(),status:t.string()},Kn=t.object(Pt).catchall(t.any()),Et={firstname:t.string().optional(),middlename:t.string().optional(),fullname:t.string().optional(),genderId:t.number().optional(),lastname:t.string().optional(),occupationId:t.number().optional(),mobileCountryCode:t.string().optional(),mobileNo:t.string().optional(),emailAddress:t.string().email().optional(),externalId:t.string().optional(),clientClassificationId:t.number().optional(),dateOfBirth:t.string().optional(),dateFormat:t.string().optional()},Vn=t.object(Et).catchall(t.any()),Ot={documentTypeId:t.string(),documentKey:t.string(),status:t.string(),description:t.string().optional(),issuedBy:t.string().optional(),locale:t.string().optional(),dateFormat:t.string().optional(),expiryDate:t.string().optional(),nationality:t.number().optional(),issuedDate:t.string().optional()},Wn=t.object(Ot).catchall(t.any()),wt={id:t.number(),officeId:t.number(),clientId:t.number(),resourceId:t.number(),changes:t.record(t.string(),t.any()),isScheduledTransfer:t.boolean(),isSkipNotification:t.boolean()},Qn=t.object(wt).catchall(t.any()),Tt={developerMessage:t.string(),defaultUserMessage:t.string(),userMessageGlobalisationCode:t.string(),parameterName:t.string().optional(),value:t.any().nullable(),args:t.array(t.object({value:t.any()})).optional()},Nt=t.object(Tt),Lt={developerMessage:t.string(),httpStatusCode:t.string(),defaultUserMessage:t.string(),userMessageGlobalisationCode:t.string(),errors:t.array(Nt).optional()},Hn=t.object(Lt).catchall(t.any()),kt={tenantId:t.string().optional(),offset:t.number().optional(),limit:t.number().optional(),orderBy:t.string().optional(),sortOrder:t.string().optional(),officeId:t.number().optional(),displayName:t.string().optional(),firstname:t.string().optional(),lastname:t.string().optional(),externalId:t.string().optional(),orphansOnly:t.boolean().optional(),clientStatus:t.string().optional(),mobileNo:t.string().optional(),createdStartDate:t.string().optional(),creationEndDate:t.string().optional(),activatedStartDate:t.string().optional(),activatedEndDate:t.string().optional(),closedStartDate:t.string().optional(),closedEndDate:t.string().optional()},Yn=t.object(kt),Jn={id:t.number(),accountNo:t.string(),status:Fe,subStatus:Be,active:t.boolean(),activationDate:t.array(t.number()).optional(),firstname:t.string(),lastname:t.string(),displayName:t.string(),mobileNo:t.string(),emailAddress:t.string(),dateOfBirth:t.array(t.number()),gender:Ue,clientTypes:t.array(t.any()),clientClassification:je,occupation:ze,isStaff:t.boolean(),skipAvs:t.boolean(),officeId:t.number(),officeName:t.string(),imageId:t.string().optional(),imagePresent:t.boolean().optional(),timeline:$e,legalForm:qe,clientVerificationStatus:t.string(),updatedAt:t.string(),isBlockExternalCardsAddition:t.boolean(),clientNonPersonDetails:_e,clientTransferOptionData:Ge,authorizations:t.array(t.number()).optional(),mobileCountryCode:t.string(),clientKycStatus:Me,ofLoanCycle:t.number(),ofLoanActive:t.number(),activeDepositAccount:t.number(),onBoardingStatus:t.string().optional()},qt={totalFilteredRecords:t.number(),pageItems:t.array(Ke)},Xn=t.object(qt).catchall(t.any()),Ft={clientData:Ke.optional(),riskRatingData:St.optional(),clientAddressData:vt.optional(),clientIdentifierData:Dt.optional()},Zn=t.object(Ft);var Bt=t.enum(["offset","limit","orderBy","sortOrder","officeId","displayName","firstname","lastname","externalId","orphansOnly","clientStatus","mobileNo","createdStartDate","creationEndDate","activatedStartDate","activatedEndDate","closedStartDate","closedEndDate"]),Ut=t.enum(["displayName","accountNo","officeId","officeName"]),jt=t.enum(["ASC","DESC"]),zt=t.enum(["ACTIVE","PENDING","INACTIVE"]),B=e=>Bt.parse(e),$t=e=>Ut.parse(e),_t=e=>jt.parse(e),Gt=e=>zt.parse(e),Ve=e=>{try{for(let[a,i]of Object.entries(e))if(B(a),i!=null)switch(a){case"orderBy":$t(i);break;case"sortOrder":_t(i);break;case"clientStatus":Gt(i);break;case"offset":case"limit":case"officeId":t.number().min(0).parse(i);break;case"orphansOnly":t.boolean().parse(i);break;case"displayName":case"firstname":case"lastname":case"externalId":case"mobileNo":case"createdStartDate":case"creationEndDate":case"activatedStartDate":case"activatedEndDate":case"closedStartDate":case"closedEndDate":t.string().min(1).parse(i);break}}catch(a){throw a instanceof t.ZodError?y({message:`Validation error: ${a.errors.map(i=>i.message).join(", ")}`,code:"validation_error"}):a}};var ma=e=>({input:e,metadata:{commandName:"GetClient",path:`/v1/clients/${e.clientId}`,method:"GET"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{let o={},p=new URLSearchParams;e.staffInSelectedOfficeOnly&&p.append("staffInSelectedOfficeOnly","true"),e.checkIdentitiesExpiration&&p.append("checkIdentitiesExpiration","true"),e.clientAccountAssociate&&p.append("clientAccountAssociate","true");let d=p.toString(),c=`/v1/clients/${e.clientId}${d?`?${d}`:""}`,l=await i.get(c);if(o.clientData=l,e.riskRating){let g=await i.get(`/v1/clients/${e.clientId}/riskrating`);o.riskRatingData=g}if(e.clientAddress){let g=await i.get(`/v1/client/${e.clientId}/addresses`);o.clientAddressData=g}if(e.clientIdentifier){let g=await i.get(`/v1/clients/${e.clientId}/identifiers?unmaskValue=true`);o.clientIdentifierData=g}return o}catch(o){u(o)}}}),ua=e=>({input:e,metadata:{commandName:"UpdateClient",path:`/v1/clients/${e.clientId}`,method:"PUT"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.put(`/v1/clients/${e.clientId}`,{...e.updates})).data}catch(o){u(o)}}}),ya=e=>({input:e,metadata:{commandName:"UpdateClientIdentifier",path:`/v1/clients/${e.clientId}/identifiers/${e.identifierId}`,method:"PUT"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.put(`/v1/clients/${e.clientId}/identifiers/${e.identifierId}`,{...e.updates})).data}catch(o){u(o)}}}),ga=e=>({input:e,metadata:{commandName:"CreateClient",path:"/v1/clients",method:"POST"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.post("/v1/clients",e.clientData)).data}catch(o){u(o)}}}),P=(e,a,i,o)=>{if(a!==void 0&&a!==0&&a<=0)throw y({message:`Invalid limit: ${a}. Limit must be positive or 0 for fetching all records.`,code:"invalid_limit"});if(i!==void 0&&i<0)throw y({message:`Invalid offset: ${i}. Offset must be non-negative.`,code:"invalid_offset"});return{where:c=>(B(c),{eq:l=>(Ve({[c]:l}),P({...e,[c]:l},a,i,o))}),limit:c=>P(e,c,i,o),offset:c=>P(e,a,c,o),all:()=>P(e,0,i,o),execute:()=>{let c={...e,limit:a||200,offset:i||0};return{input:{filters:e,limit:a,offset:i,tenantId:o},metadata:{commandName:"ListClients",path:"/v1/clients",method:"GET"},execute:async l=>{o&&(l.tenantId=o);let g=await m(l);try{if(a===0){let f=[],b=i||0,C=0;do{let I={...e,limit:200,offset:b},x=await g.get("/v1/clients",{params:I}),{totalFilteredRecords:S,pageItems:T}=x.data;f.push(...T),C=S,b+=200}while(b<C);return{totalFilteredRecords:C,pageItems:f}}else return(await g.get("/v1/clients",{params:c})).data}catch(f){u(f)}}}}}},fa=e=>({list:()=>P({},void 0,void 0,e?.tenantId)}),ba=(e,a)=>({input:{params:e,configuration:a},metadata:{commandName:"GetClients",path:"/v1/clients",method:"GET"},execute:async i=>{a.tenantId&&(i.tenantId=a.tenantId);let o=await m(i),p=[],d=e.limit||200,c=e.offset||0,l=0,g={...e,limit:d,offset:c};try{if(e.limit===0){do{let f=await o.get("/v1/clients",{params:g}),{totalFilteredRecords:h,pageItems:b}=f.data;p.push(...b),l=h,c+=d}while(c<l);return{totalFilteredRecords:l,pageItems:p}}else return(await o.get("/v1/clients",{params:g})).data}catch(f){u(f)}}}),ha=e=>({input:e,metadata:{commandName:"DeleteClient",path:`/v1/clients/${e.clientId}`,method:"DELETE"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.delete(`/v1/clients/${e.clientId}`)).data}catch(o){u(o)}}});import{z as n}from"zod";var We=n.object({id:n.number(),code:n.string(),value:n.string(),submittedAndPendingApproval:n.boolean(),approved:n.boolean(),rejected:n.boolean(),withdrawnByApplicant:n.boolean(),active:n.boolean(),closed:n.boolean(),prematureClosed:n.boolean(),transferInProgress:n.boolean(),transferOnHold:n.boolean(),matured:n.boolean()}),U=n.object({code:n.string(),name:n.string(),decimalPlaces:n.number(),inMultiplesOf:n.number(),displaySymbol:n.string(),nameCode:n.string(),displayLabel:n.string(),currencyCodeInDigit:n.number().optional(),isBaseCurrency:n.boolean().optional()}),Mt=n.object({id:n.number(),code:n.string(),value:n.string()}),Qe=n.object({submittedOnDate:n.array(n.number()),submittedByUsername:n.string(),submittedByFirstname:n.string(),submittedByLastname:n.string(),approvedOnDate:n.array(n.number()).optional(),approvedByUsername:n.string().optional(),approvedByFirstname:n.string().optional(),approvedByLastname:n.string().optional(),activatedOnDate:n.array(n.number()).optional(),activatedByUsername:n.string().optional(),activatedByFirstname:n.string().optional(),activatedByLastname:n.string().optional()}),He=n.object({id:n.number(),code:n.string(),value:n.string(),none:n.boolean(),inactive:n.boolean(),dormant:n.boolean(),escheat:n.boolean(),block:n.boolean(),blockCredit:n.boolean(),blockDebit:n.boolean()}),Ye=n.object({id:n.number(),code:n.string(),value:n.string()}),Kt=n.object({id:n.number(),accountNo:n.string(),productId:n.number(),productName:n.string(),shortProductName:n.string(),status:We,currency:U,accountBalance:n.number(),accountType:Mt,timeline:Qe,subStatus:He,lastActiveTransactionDate:n.array(n.number()).optional(),depositType:Ye,availableBalance:n.number(),allowPrepaidCard:n.boolean(),primaryAccount:n.record(n.any())}),Vt={id:n.number(),accountNo:n.string(),depositType:Ye,clientId:n.number(),clientName:n.string(),savingsProductId:n.number(),savingsProductName:n.string(),fieldOfficerId:n.number(),status:We,subStatus:He,timeline:Qe,currency:U,nominalAnnualInterestRate:n.number(),interestCompoundingPeriodType:n.object({id:n.number(),code:n.string(),value:n.string()}),interestPostingPeriodType:n.object({id:n.number(),code:n.string(),value:n.string()}),interestCalculationType:n.object({id:n.number(),code:n.string(),value:n.string()}),interestCalculationDaysInYearType:n.object({id:n.number(),code:n.string(),value:n.string()}),lockinPeriodFrequency:n.number(),lockinPeriodFrequencyType:n.object({id:n.number(),code:n.string(),value:n.string()}),withdrawalFeeForTransfers:n.boolean(),allowOverdraft:n.boolean(),enforceMinRequiredBalance:n.boolean(),onHoldFunds:n.number(),withHoldTax:n.boolean(),lastActiveTransactionDate:n.array(n.number()),isDormancyTrackingActive:n.boolean(),savingsAmountOnHold:n.number(),summary:n.object({currency:U,totalDeposits:n.number(),totalInterestEarned:n.number(),totalInterestPosted:n.number(),accountBalance:n.number(),totalOverdraftInterestDerived:n.number(),interestNotPosted:n.number(),lastInterestCalculationDate:n.array(n.number()),availableBalance:n.number()}),isLinkedToFloatingInterestRates:n.boolean(),interestRateDifferential:n.number(),overdraftInterestRateDifferential:n.number(),floatingRateId:n.number(),isBaseLendingRate:n.boolean(),isFloatingInterestRateCalculationAllowed:n.boolean(),bankDetails:n.object({routingNumber:n.string(),name:n.string(),swiftCode:n.string(),address:n.string(),city:n.string(),postcode:n.string()}),skipCollectTransferCharge:n.boolean(),cardRestricted:n.boolean(),overdraftLimit:n.number(),minRequiredBalance:n.number(),minBalanceForInterestCalculation:n.number(),minOverdraftForInterestCalculation:n.number(),overdraftMinimumDue:n.number(),currentFloatingInterestPeriod:n.object({fromDate:n.array(n.number()),interestRate:n.number(),isDifferentialToBLR:n.boolean()}),floatingRateName:n.string(),floatingRateDifferential:n.number(),parentAccount:n.object({withdrawalFeeForTransfers:n.boolean(),allowOverdraft:n.boolean(),enforceMinRequiredBalance:n.boolean(),withHoldTax:n.boolean(),isDormancyTrackingActive:n.boolean(),isLinkedToFloatingInterestRates:n.boolean(),isBaseLendingRate:n.boolean(),skipCollectTransferCharge:n.boolean(),cardRestricted:n.boolean(),allowPrepaidCard:n.boolean(),prepaidAccount:n.boolean()}),allowPrepaidCard:n.boolean(),prepaidAccount:n.boolean(),prepaidLimitAmount:n.number()},xa=n.object(Vt),Wt={savingsAccounts:n.array(Kt)},Sa=n.object(Wt),Qt=n.enum(["showReservedAccount"]),Ht={tenantId:n.string().optional(),showReservedAccount:n.boolean().optional().default(!1)},va=n.object(Ht),j=e=>Qt.parse(e),Je=e=>{try{for(let[a,i]of Object.entries(e))if(j(a),i!=null)switch(a){case"showReservedAccount":n.boolean().parse(i);break}}catch(a){throw a instanceof n.ZodError?y({message:`Validation error: ${a.errors.map(i=>i.message).join(", ")}`,code:"validation_error"}):a}},Yt={clientId:n.number(),productId:n.number(),submittedOnDate:n.string(),nominalAnnualInterestRate:n.string(),minRequiredOpeningBalance:n.string(),lockinPeriodFrequency:n.string(),withdrawalFeeForTransfers:n.boolean(),allowOverdraft:n.boolean(),overdraftLimit:n.number(),minOverdraftForInterestCalculation:n.number(),enforceMinRequiredBalance:n.boolean(),minRequiredBalance:n.number(),withHoldTax:n.boolean(),interestCompoundingPeriodType:n.number(),interestPostingPeriodType:n.number(),interestCalculationType:n.number(),interestCalculationDaysInYearType:n.number(),fieldOfficerId:n.number(),lockinPeriodFrequencyType:n.number(),locale:n.string(),dateFormat:n.string(),monthDayFormat:n.string(),charges:n.array(n.any())},Da=n.object(Yt);var La=e=>({input:e,metadata:{commandName:"GetAccount",path:`/v1/savingaccounts/${e.id}`,method:"GET"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.get(`/v1/savingaccounts/${e.id}`)).data}catch(o){u(o)}}}),ka=e=>({input:e,metadata:{commandName:"UpdateAccount",path:`/v1/savingsaccounts/${e.accountId}`,method:"PUT"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.put(`/v1/savingsaccounts/${e.accountId}`,{...e.updates,clientId:e.clientId})).data}catch(o){u(o)}}}),qa=e=>({input:e,metadata:{commandName:"DeleteAccount",path:`/v1/savingsaccounts/${e.accountId}`,method:"DELETE"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.delete(`/v1/savingsaccounts/${e.accountId}`)).data}catch(o){u(o)}}}),Xe=(e,a,i)=>({where:d=>(j(d),{eq:c=>(Je({[d]:c}),Xe({...e,[d]:c},a,i))}),execute:()=>({input:{filters:e,tenantId:i},metadata:{commandName:"ListAccountsOfClient",path:`/v1/clients/${a}/accounts`,method:"GET"},execute:async d=>{i&&(d.tenantId=i);let c=await m(d);try{return(await c.get(`/v1/clients/${a}/accounts`,{params:e})).data}catch(l){u(l)}}})}),Fa=e=>({list:()=>Xe({},e?.clientId||0,e?.tenantId)}),Ba=(e,a,i)=>({input:{params:a,configuration:i},metadata:{commandName:"ListAccountsOfClient",path:`/v1/clients/${e}/accounts`,method:"GET"},execute:async o=>{i.tenantId&&(o.tenantId=i.tenantId);let p=await m(o);try{return(await p.get(`/v1/clients/${e}/accounts`,{params:a})).data}catch(d){u(d)}}});import{z as s,ZodError as Ze}from"zod";var Jt=s.object({routingNumber:s.string(),swiftCode:s.string()}),z=s.object({accountNumber:s.string(),bankInformation:Jt}),$=s.object({line1:s.string(),line2:s.string(),city:s.string(),stateCode:s.string(),countryCode:s.string(),postalCode:s.string()}),Xt={id:s.number(),clientId:s.number(),nickName:s.string(),firstName:s.string(),lastName:s.string(),businessName:s.string(),emailAddress:s.string(),phoneNumber:s.string(),recipientType:s.string(),paymentRail:s.string(),isOwnAccount:s.boolean(),address:$,accountDetailsData:z},Zt=s.object(Xt),_a=s.array(Zt),en={limit:s.number().min(1).optional().describe("Maximum number of records to return. Defaults to 20 if not specified. Set to 0 to return all records."),offset:s.number().min(0).optional(),name:s.string().optional()},Ga=s.object(en),tn={nickName:s.string(),firstName:s.string(),lastName:s.string(),businessName:s.string().optional(),emailAddress:s.string().email(),phoneNumber:s.string(),recipientType:s.string(),paymentRail:R,isOwnAccount:s.boolean().optional(),address:$.optional(),accountDetailsData:z},Ma=s.object(tn).refine(e=>e.paymentRail==="WIRE"||e.paymentRail==="SWIFT"?e.address!==void 0&&e.address.stateCode!==void 0&&e.address.countryCode!==void 0:!0,{message:"Address with state code and country code is required for WIRE and SWIFT payment rails",path:["address"]}),nn=s.enum(["name"]),an=e=>nn.parse(e),et=e=>{try{an(e)}catch(a){throw a instanceof Ze?y({message:`Invalid filter key: '${e}'. ${a.message}`,code:"invalid_filter_key"}):a}},tt=(e,a)=>{try{switch(e){case"name":s.string().parse(a);break;default:break}}catch(i){throw i instanceof Ze?y({message:`Invalid value for '${e}': '${a}'. ${i.message}`,code:`invalid_${e}_value`}):i}},rn={nickName:s.string().optional(),firstName:s.string().optional(),lastName:s.string().optional(),businessName:s.string().optional(),emailAddress:s.string().email().optional(),phoneNumber:s.string().optional(),recipientType:s.string().optional(),paymentRail:R.optional(),isOwnAccount:s.boolean().optional(),address:$.optional(),accountDetailsData:z.optional()},Ka=s.object(rn).refine(e=>e.paymentRail&&e.address&&(e.paymentRail==="WIRE"||e.paymentRail==="SWIFT")?e.address.stateCode!==void 0&&e.address.countryCode!==void 0:!0,{message:"When updating address for WIRE/SWIFT payment rails, state code and country code are required",path:["address"]});var er=e=>({input:e,metadata:{commandName:"GetRecipient",path:`/v1/clients/${e.clientId}/recipients/${e.id}`,method:"GET"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.get(`/v1/clients/${e.clientId}/recipients/${e.id}`)).data}catch(o){u(o)}}}),tr=e=>({input:e,metadata:{commandName:"CreateRecipient",path:`/v1/clients/${e.clientId}/recipients`,method:"POST"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.post(`/v1/clients/${e.clientId}/recipients`,e.recipient)).data}catch(o){u(o)}}}),nr=e=>({input:e,metadata:{commandName:"DeleteRecipient",path:`/v1/clients/${e.clientId}/recipients/${e.recipientId}`,method:"DELETE"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a);try{return(await i.delete(`/v1/clients/${e.clientId}/recipients/${e.recipientId}`)).data}catch(o){u(o)}}}),w=(e,a,i,o,p)=>({where:l=>(et(l),{eq:g=>(tt(l,g),w(e,{...a,[l]:g},i,o,p))}),limit:l=>w(e,a,l,o,p),offset:l=>w(e,a,i,l,p),execute:()=>{let g={...{name:""},...a,limit:i||20,offset:o||0};return{input:{tenantId:p},metadata:{commandName:"ListRecipients",path:`/v1/clients/${e}/recipients`,method:"GET"},execute:async f=>{p&&(f.tenantId=p);let h=await m(f);try{return(await h.get(`/v1/clients/${e}/recipients`,{params:g})).data}catch(b){u(b)}}}}}),ar=e=>({list:()=>w(e?.clientId||0,{},void 0,void 0,e?.tenantId)}),rr=(e,a,i)=>({input:{params:a,configuration:i},metadata:{commandName:"GetRecipients",path:`/v1/clients/${e}/recipients`,method:"GET"},execute:async o=>{i.tenantId&&(o.tenantId=i.tenantId);let p=await m(o);(!a.limit||a.limit<=0)&&(a.limit=20),a.name||(a.name="");try{return(await p.get(`/v1/clients/${e}/recipients`,{params:a})).data}catch(d){u(d)}}});import{print as sn}from"graphql";var on=`
2
- mutation updateRecipient($id: ID!, $input: UpdateRecipientInput!) {
3
- updateRecipient(id: $id, input: $input) {
4
- id
5
- clientId
6
- nickName
7
- firstName
8
- lastName
9
- businessName
10
- emailAddress
11
- phoneNumber
12
- recipientType
13
- paymentRail
14
- isOwnAccount
15
- address {
16
- line1
17
- line2
18
- city
19
- stateCode
20
- countryCode
21
- postalCode
22
- }
23
- accountDetailsData {
24
- accountNumber
25
- bankInformation {
26
- routingNumber
27
- swiftCode
28
- }
29
- }
30
- }
31
- }
32
- `,sr=e=>{let a=nt({command:on,variables:{id:e.id,input:e.input},operationName:"updateRecipient",tenantId:e.tenantId});return{input:e,metadata:{commandName:"UpdateRecipientGQL",path:"/graphql",method:"POST"},execute:a.execute}};var nt=e=>({input:e,metadata:{commandName:e.operationName||"GraphQL",path:"/graphql",method:"POST"},execute:async a=>{e.tenantId&&(a.tenantId=e.tenantId);let i=await m(a),o=a.graphqlPath||"/graphql";try{let p=typeof e.command=="string"?e.command:sn(e.command),{data:d}=await i.post(o,{query:p,variables:e.variables,operationName:e.operationName});if(d.errors?.length)throw y({message:d.errors[0].message,code:"graphql_error",originalError:d.errors[0]});if(!d.data)throw y({message:"No data returned from GraphQL query",code:"graphql_no_data"});return d.data}catch(p){throw p.name==="CommandError"?p:y({message:p.message,code:"graphql_request_failed",originalError:p})}}});export{y as a,dn as b,u as c,m as d,_ as e,v as f,R as g,D as h,F as i,ot as j,hn as k,st as l,pt as m,dt as n,lt as o,mt as p,Cn as q,qn as r,Fn as s,Bn as t,Un as u,jn as v,zn as w,ma as x,ua as y,ya as z,ga as A,fa as B,ba as C,ha as D,Vt as E,xa as F,Wt as G,Sa as H,Ht as I,va as J,Yt as K,Da as L,La as M,ka as N,qa as O,Fa as P,Ba as Q,er as R,tr as S,nr as T,ar as U,rr as V,nt as W,sr as X};