{"_id":"@chandarith/test-sdk","_rev":"8-7dcfa3d434d296e4e5b08f2bfcfdea77","name":"@chandarith/test-sdk","dist-tags":{"latest":"1.2.3"},"versions":{"1.0.7":{"name":"@chandarith/test-sdk","version":"1.0.7","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.0.7","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"d6157ea749a672238421e2d4686505f93f24a143","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.0.7.tgz","fileCount":25,"integrity":"sha512-2/0rfOtnpzNvXnJVsXFqjqeOONfrYUvNxp0KDwUaQjRO4Ny4AAjlOq0yUmjblpq88HrDwhsCeIBNOfHRUCNItw==","signatures":[{"sig":"MEUCIEVCqNSsQujWv5M0MnqIKUH5mdM46hhV1yXEJi1IqzBMAiEApNTJ43zNL4zSJqBRNnpyLzr1GjSvVxRikQzQD0Sc6yg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1725476},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/index.d.ts"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"00a85f9734cec541ab051cb4fdceffad5fd2cb44","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-traceid.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.0.7_1765511964015_0.8487469312204541","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.8":{"name":"@chandarith/test-sdk","version":"1.0.8","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.0.8","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"3164c4ed06343fec6767eaced3e8f5c259b367c8","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.0.8.tgz","fileCount":25,"integrity":"sha512-ZWKyu/zWyBY1fCMVuboqYoqXsmitV9bXj+bh6J4luXiSAhRWztcNJI6pWrswFPm2QX/WbzNOQ2iGk1ISIJI8Jw==","signatures":[{"sig":"MEUCIQC5q/1RdlEwm9QgXY36FvYyzIhMXcdbe0aCK4talRGmLAIgA+9Cc4JN0uyZoWm90+FQQbDHd8QDAwzr5H+S84Ml8EQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1725476},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/index.d.ts"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"6253a9b14495a0019c387b98dad127f5c36d7cfc","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-traceid.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.0.8_1765512436426_0.07795935575314972","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"@chandarith/test-sdk","version":"1.1.0","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.1.0","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"ec4da10416225802898b599ecce27b7e158412e2","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.1.0.tgz","fileCount":25,"integrity":"sha512-SjuSnVEbwAAUbtxybwb0nuQ7VyV8L3uZD1PE4obLwwJ0avvroQGKCKVx6Ga84V/SE42QuBgVDm2EI0siGqNkyQ==","signatures":[{"sig":"MEYCIQComQSy9FZR0Fh0V5c9baa2Jd5vLSkqFS9KeQnRagPVQgIhAOiSRGY2+PfscesXp/Wcge2uzyvEr2h2SvbetiU8VYY3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1725035},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/index.d.ts"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"5d4f98405619269905fc917b27dffbc20bc3fb28","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-internal.js && node scripts/filter-changelog.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.1.0_1765530649415_0.45122187780435885","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.0":{"name":"@chandarith/test-sdk","version":"1.2.0","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.2.0","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"2520def124eae69638670c4f1c79113784e7af39","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.2.0.tgz","fileCount":31,"integrity":"sha512-xZIsL9APg1MljaP5eB92t9OrfCQnp1frIi2T+WfVxOMc2CQ2/QawWxEHfO6rNHLshoaGQc4cllCYV11YtXjGBQ==","signatures":[{"sig":"MEUCIQDko9LeXODwlmCXnQGJbAtYW0ezG1GFLUhNKcGn1FoSQAIgG7LOxHC+BIkgBOFZNHzA1pxVHZbBKxsV71jPztxY/uU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1704209},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./internal":{"types":"./dist/commands/internal.d.ts","import":"./dist/commands/internal.mjs","require":"./dist/commands/internal.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"b8b4a51d564f00c30bb3912f54399e03221c0b44","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-internal.js && node scripts/filter-changelog.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.2.0_1765868684265_0.20082987853457368","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.1":{"name":"@chandarith/test-sdk","version":"1.2.1","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.2.1","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"5e88b0eb742e2f8c81157faa515901983f641293","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.2.1.tgz","fileCount":31,"integrity":"sha512-f1okUzkGjmnQAgWh9gvoDZEwGaItix9XSCMZOY+MdOww+Xkdod9RB8eXqH6QXevpgHra5aiBi0qfcGWkiqT/7g==","signatures":[{"sig":"MEUCIQDHBPZGqbKjaOwecWJEw39f4BfagAf4reZZwszo+ZCzyAIgLhfTARDw2NUWcExuIUQB4Ot8LJMuGUHc+qhcIwtA6Fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1704209},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./internal":{"types":"./dist/commands/internal.d.ts","import":"./dist/commands/internal.mjs","require":"./dist/commands/internal.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"412b074f2bc6f4ebf9aa13bece5ca6052207d4c7","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-internal.js && node scripts/filter-changelog.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.2.1_1765869982439_0.5966081676305144","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.2":{"name":"@chandarith/test-sdk","version":"1.2.2","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.2.2","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"5cebed35c436eb006fc18f6f251395ac3b9ffc57","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.2.2.tgz","fileCount":31,"integrity":"sha512-rFKW15xmdlvLQlXiVWD5TI88nzvfeBE/wSjXNi57s3Ja+qF7axdZNl7joOrbKCR4PedTDTUDgKOh2gaelqGE7w==","signatures":[{"sig":"MEYCIQDjWltDjAU6yOiJRDJ2ZtfEdX0GvDwISfuvhwytvABx/QIhANyRE7Q1kRH+brB++o6X64xAzllAb2sbNkSPVF9bh6l7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1704209},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./internal":{"types":"./dist/commands/internal.d.ts","import":"./dist/commands/internal.mjs","require":"./dist/commands/internal.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"4880b915624fd6188fa4051da2ab7713378537d4","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-internal.js && node scripts/filter-changelog.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.2.2_1765942165649_0.1820709108313716","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.3":{"name":"@chandarith/test-sdk","version":"1.2.3","keywords":["core","sdk","javascript"],"author":{"name":"MbanqCloud"},"license":"MIT","_id":"@chandarith/test-sdk@1.2.3","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"homepage":"https://github.com/mbanq/core-sdk-js","bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"dist":{"shasum":"13112c1054a8e8ca9bd8b52bca10c5db33b81a83","tarball":"https://registry.npmjs.org/@chandarith/test-sdk/-/test-sdk-1.2.3.tgz","fileCount":31,"integrity":"sha512-TiuG8eNqSq5N0z+rNoMjAXBIlXGTTBXv2ChWDjFX9g1Mn6OpZtS2CBjBkJt7irawSy4VjO2vzeHkcVg2scFm0Q==","signatures":[{"sig":"MEUCIA2BcYSq5GP4QI8gl0TUoNOYlkwqosgeZ3VPfVLhnmP+AiEA75fY+bFe61iXm4CPwR7TT6QqygCxp+sZEfNEIsmuNrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1704209},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"},"./command":{"types":"./dist/commands/index.d.ts","import":"./dist/commands/index.mjs","require":"./dist/commands/index.js"},"./internal":{"types":"./dist/commands/internal.d.ts","import":"./dist/commands/internal.mjs","require":"./dist/commands/internal.js"},"./types/client":{"types":"./dist/client/index.d.ts"},"./types/command":{"types":"./dist/commands/index.d.ts"}},"gitHead":"d640bb8a428fc12e3306df544c2ad51f8de7cb0e","scripts":{"dev":"tsup --watch","lint":"eslint '*/**/*.{js,ts}' --fix","test":"vitest run --coverage","build":"tsup","test:ci":"vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml","build:public":"tsup --config tsup.config.public.ts && node scripts/strip-internal.js && node scripts/filter-changelog.js","build:internal":"tsup","semantic-release":"semantic-release"},"_npmUser":{"name":"darith7","email":"darith0001@gmail.com"},"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.25.76","uuid":"^11.1.0","axios":"^1.11.0","graphql":"^16.11.0","jsonwebtoken":"^9.0.2","moment-timezone":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","eslint":"^9.33.0","vitest":"^3.2.4","globals":"^16.3.0","typescript":"^5.9.2","@types/node":"^24.2.1","semantic-release":"^24.2.7","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.10","@babel/eslint-plugin":"^7.27.1","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","eslint-plugin-security":"^3.0.1","@semantic-release/github":"^11.0.4","@typescript-eslint/parser":"^8.39.1","@vitest/coverage-istanbul":"^3.2.4","semantic-release-slack-bot":"^4.0.2","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/test-sdk_1.2.3_1765942853950_0.15007998412009438","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-12-12T03:59:23.949Z","modified":"2025-12-19T02:19:57.028Z","1.0.7":"2025-12-12T03:59:24.167Z","1.0.8":"2025-12-12T04:07:16.661Z","1.1.0":"2025-12-12T09:10:49.613Z","1.2.0":"2025-12-16T07:04:44.457Z","1.2.1":"2025-12-16T07:26:22.567Z","1.2.2":"2025-12-17T03:29:25.812Z","1.2.3":"2025-12-17T03:40:54.125Z"},"bugs":{"url":"https://github.com/mbanq/core-sdk-js/issues"},"author":{"name":"MbanqCloud"},"license":"MIT","homepage":"https://github.com/mbanq/core-sdk-js","keywords":["core","sdk","javascript"],"repository":{"url":"git+ssh://git@github.com/chandarith-chea/test-sdk.git","type":"git"},"description":"A comprehensive JavaScript SDK for interacting with the Mbanq payment API. Features type-safe payment operations, multi-tenant support, and Zod validation.","maintainers":[{"name":"darith7","email":"darith0001@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://avatars.githubusercontent.com/u/26124358?s=200&v=4\" alt=\"Mbanq Logo\" width=\"120\"/>\n</p>\n\n# Core SDK JS\n\n[![NPM](https://nodei.co/npm/@mbanq/core-sdk-js.png)](https://npmjs.org/package/@mbanq/core-sdk-js)\n\n![npm version](https://img.shields.io/npm/v/@mbanq/core-sdk-js.svg)\n[![downloads](https://img.shields.io/npm/dt/@mbanq/core-sdk-js.svg)](https://npmjs.org/package/@mbanq/core-sdk-js)\n![license](https://img.shields.io/github/license/Mbanq/core-sdk-js)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Setup](#setup)\n  - [Axios Instance Logger](#axios-instance-logger)\n- [Middleware](#middleware)\n  - [Logging Middleware](#logging-middleware)\n  - [Metrics Middleware](#metrics-middleware)\n  - [Custom Middleware](#custom-middleware)\n- [API Reference](#api-reference)\n  - [Transfer Operations](#transfer-operations)\n  - [Client Identifier Operations](#client-identifier-operations)\n  - [User Operations](#user-operations)\n- [Documentation](#documentation)\n- [Type Safety & Validation](#type-safety--validation)\n- [Error Handling](#error-handling)\n- [Examples](#examples)\n\n## Introduction\nThis library provides a comprehensive JavaScript SDK for interacting with the Mbanq payment API. It offers type-safe payment operations with built-in validation, multi-tenant support, and a modern fluent API design.\n## Installation\n\n```bash\nnpm install @mbanq/core-sdk-js\n```\n\n## Quick Start\n\n```javascript\nimport { createInstance, CreatePayment, GetTransfers } from '@mbanq/core-sdk-js';\n\nconst client = createInstance({\n  secret: 'your-jwt-secret',\n  signee: 'YOUR-SIGNEE',\n  baseUrl: 'https://api.cloud.mbanq.com',\n  tenantId: 'your-tenant-id'\n});\n\n// Create payment\nconst payment = await client.request(CreatePayment({\n  amount: 100.00,\n  currency: 'USD',\n  paymentRail: 'ACH',\n  paymentType: 'CREDIT',\n  originator: { accountId: '123456789' },\n  recipient: {\n    name: 'Jane Smith',\n    accountNumber: '987654321',\n    accountType: 'SAVINGS',\n    recipientType: 'INDIVIDUAL',\n    address: {\n      line1: '789 Oak Ave',\n      city: 'Another Town',\n      stateCode: 'CA',\n      countryCode: 'US',\n      postalCode: '54321'\n    },\n    bankInformation: { routingNumber: '321070007' }\n  }\n}));\n\n// Get transfers\nconst transfers = await client.request(GetTransfers({\n  transferStatus: 'EXECUTION_SCHEDULED',\n  executedAt: '2025-01-22',\n  paymentType: 'ACH',\n  queryLimit: 200\n}));\n```\n\n## Setup\n\n### Authentication Options\n\nThe SDK supports multiple authentication methods. Choose the one that fits your integration:\n\n#### 1. JWT Token Authentication (Recommended)\nUse your API secret and signee for JWT-based authentication:\n\n```javascript\nconst client = createInstance({\n  secret: 'your-jwt-secret',\n  signee: 'YOUR-SIGNEE', \n  baseUrl: 'https://api.cloud.mbanq.com',\n  tenantId: 'your-tenant-id'\n});\n```\n\n#### 2. Bearer Token Authentication\nIf you already have a valid access token:\n\n```javascript\n// With \"Bearer \" prefix (recommended)\nconst client = createInstance({\n  bearerToken: 'Bearer your-access-token',\n  baseUrl: 'https://api.cloud.mbanq.com', \n  tenantId: 'your-tenant-id'\n});\n\n// Without \"Bearer \" prefix (automatically added)\nconst client = createInstance({\n  bearerToken: 'your-access-token', // \"Bearer \" will be added automatically\n  baseUrl: 'https://api.cloud.mbanq.com', \n  tenantId: 'your-tenant-id'\n});\n```\n\n#### 3. OAuth Credential Authentication\nFor OAuth 2.0 password grant flow:\n\n```javascript\nconst client = createInstance({\n  credential: {\n    client_id: 'your-client-id',\n    client_secret: 'your-client-secret',\n    username: 'your-username',\n    password: 'your-password',\n    grant_type: 'password'\n  },\n  baseUrl: 'https://api.cloud.mbanq.com',\n  tenantId: 'your-tenant-id'\n});\n```\n\n#### Authentication Priority\nWhen multiple authentication methods are provided, the SDK uses them in this order:\n1. **`bearerToken`** - Takes highest priority if provided\n2. **`credential`** - OAuth flow is used if no bearerToken \n3. **`secret` + `signee`** - JWT authentication used as fallback\n\n#### Additional Configuration Options\n```javascript\nconst client = createInstance({\n  // Choose one authentication method from above\n  secret: 'your-jwt-secret',\n  signee: 'YOUR-SIGNEE',\n  \n  // Required configuration\n  baseUrl: 'https://api.cloud.mbanq.com',\n  tenantId: 'your-tenant-id',\n  \n  // Optional configuration\n  traceId: 'custom-trace-id', // Custom request tracing identifier\n  axiosConfig: {\n    timeout: 30000, // Request timeout in milliseconds (default: 29000)\n    keepAlive: true, // HTTP keep-alive for connection reuse\n    headers: {\n      'Custom-Header': 'custom-value' // Additional HTTP headers\n    }\n  }\n});\n```\n\n### Security Best Practices\n\n#### Credential Management\n- **Never hardcode credentials** in your source code\n- Use environment variables or secure credential management systems\n- Rotate API secrets and tokens regularly\n- Use the minimum required permissions for your integration\n\n#### Environment Variables Example\n```javascript\nconst client = createInstance({\n  secret: process.env.MBANQ_API_SECRET,\n  signee: process.env.MBANQ_API_SIGNEE,\n  baseUrl: process.env.MBANQ_API_URL,\n  tenantId: process.env.MBANQ_TENANT_ID\n});\n```\n\n#### Production Considerations\n- Use HTTPS endpoints only (`https://`)\n- Implement proper error handling to avoid credential leakage in logs\n- Configure appropriate request timeouts\n- Use connection pooling for high-volume applications\n\n### Axios Instance Logger\nYou can also configure an Axios instance logger to set up interceptors or other axios-specific configurations:\n\n```javascript\nconst axiosLogger = (axiosInstance) => {\n  // Add request interceptor\n  axiosInstance.interceptors.request.use(\n    (config) => {\n      console.log('Request:', config.method?.toUpperCase(), config.url);\n      return config;\n    }\n  );\n  \n  // Add response interceptor\n  axiosInstance.interceptors.response.use(\n    (response) => {\n      console.log('Response:', response.status, response.config.url);\n      return response;\n    }\n  );\n};\n\nconst coreSDK = createInstance({\n  secret: 'testing123',\n  signee: 'TESTING',\n  baseUrl: 'https://example.com',\n  tenantId: 'testing',\n  logger: axiosLogger // Configure Axios instance\n});\n```\n\n## Middleware\nThe SDK supports middleware for cross-cutting concerns like logging and metrics. Middleware functions are executed automatically around command execution.\n\n**Note**: This is different from the Axios instance logger above. Middleware loggers handle command-level logging, while the Axios logger handles HTTP request/response logging.\n\n### Understanding Middleware Concepts\n\nThere are three key concepts to understand:\n\n1. **Middleware** - A wrapper that runs code before/after command execution\n2. **Logger Interface** - A contract defining what methods a logger object must have\n3. **Custom Middleware** - Your own middleware implementing the Middleware interface\n\n### Quick Comparison\n\n| Concept | What It Is | When to Use |\n|---------|-----------|-------------|\n| **Logging Middleware** | Pre-built middleware for logging commands | Use `createLoggingMiddleware(logger)` when you want automatic command logging |\n| **Logger Interface** | Contract for logger objects | Implement this when creating a custom logger for Logging Middleware |\n| **Metrics Middleware** | Pre-built middleware for tracking metrics | Use `createMetricsMiddleware(client)` when you want to track command metrics |\n| **Custom Middleware** | Build-your-own middleware | Implement the Middleware interface when you need custom behavior |\n\n---\n\n### 1. Logging Middleware\n\n**Purpose**: Automatically logs command execution details (inputs, outputs, errors).\n\n**Basic Usage** (with console):\n```javascript\nimport { createInstance, createLoggingMiddleware } from '@mbanq/core-sdk-js';\n\nconst client = createInstance({\n  secret: 'testing123',\n  signee: 'TESTING',\n  baseUrl: 'https://example.com',\n  tenantId: 'testing',\n  middlewares: [createLoggingMiddleware(console)]\n});\n```\n\n**With Custom Logger**:\n\nFirst, create a logger that implements the Logger interface:\n\n```typescript\n// Logger Interface - what your logger must implement\ninterface Logger {\n  info: (message: string, ...args: unknown[]) => void;   // Required\n  error: (message: string, ...args: unknown[]) => void;  // Required\n  warn?: (message: string, ...args: unknown[]) => void;  // Optional\n  log?: (message: string, ...args: unknown[]) => void;   // Optional\n}\n\n// Example: Custom logger implementation\nconst customLogger = {\n  info: (message, ...args) => myLoggingService.info(message, args),\n  error: (message, ...args) => myLoggingService.error(message, args),\n  warn: (message, ...args) => myLoggingService.warn(message, args)\n};\n\n// Use your custom logger with Logging Middleware\nconst middleware = createLoggingMiddleware(customLogger);\n\nconst client = createInstance({\n  secret: 'testing123',\n  signee: 'TESTING',\n  baseUrl: 'https://example.com',\n  tenantId: 'testing',\n  middlewares: [middleware]\n});\n```\n\n---\n\n### 2. Metrics Middleware\n\n**Purpose**: Tracks command execution metrics (counters for started, completed, and error events).\n\n**Usage**:\n```javascript\nimport { createInstance, createMetricsMiddleware } from '@mbanq/core-sdk-js';\n\n// Your metrics client must implement the MetricsClient interface\nconst metricsClient = {\n  incrementCounter: (counterName) => {\n    // Increment your counter (e.g., Prometheus, StatsD, etc.)\n    console.log(`Counter: ${counterName}`);\n  },\n  recordError: (error) => {\n    // Optional: Record error details\n    console.error('Command error:', error);\n  }\n};\n\nconst client = createInstance({\n  secret: 'testing123',\n  signee: 'TESTING',\n  baseUrl: 'https://example.com',\n  tenantId: 'testing',\n  middlewares: [createMetricsMiddleware(metricsClient)]\n});\n```\n\n**MetricsClient Interface**:\n```typescript\ninterface MetricsClient {\n  incrementCounter: (counterName: string) => void;  // Required\n  recordError?: (error: Error) => void;             // Optional\n}\n```\n\n---\n\n### 3. Custom Middleware\n\n**Purpose**: Create your own middleware for custom behavior (e.g., performance monitoring, audit logging, caching).\n\n**Middleware Interface**:\n```typescript\ninterface Middleware {\n  before?: (command: Command) => Promise<void>;              // Called before execution\n  after?: (command: Command, response: any) => Promise<void>; // Called after success\n  onError?: (command: Command, error: Error) => Promise<void>; // Called on error\n}\n```\n\n**Example - Performance Monitoring**:\n```javascript\nconst performanceMiddleware = {\n  before: async (command) => {\n    command._startTime = Date.now();\n    console.log(`[${command.metadata.commandName}] Starting...`);\n  },\n  after: async (command, response) => {\n    const duration = Date.now() - command._startTime;\n    console.log(`[${command.metadata.commandName}] Completed in ${duration}ms`);\n  },\n  onError: async (command, error) => {\n    const duration = Date.now() - command._startTime;\n    console.error(`[${command.metadata.commandName}] Failed after ${duration}ms:`, error.message);\n  }\n};\n\nconst client = createInstance({\n  secret: 'testing123',\n  signee: 'TESTING',\n  baseUrl: 'https://example.com',\n  tenantId: 'testing',\n  middlewares: [performanceMiddleware]\n});\n```\n\n---\n\n### Using Multiple Middleware\n\nYou can combine multiple middleware together. They execute in the order provided:\n\n```javascript\nconst client = createInstance({\n  secret: 'testing123',\n  signee: 'TESTING',\n  baseUrl: 'https://example.com',\n  tenantId: 'testing',\n  middlewares: [\n    createLoggingMiddleware(console),      // Logs commands\n    createMetricsMiddleware(metricsClient), // Tracks metrics\n    performanceMiddleware                   // Custom performance tracking\n  ]\n});\n```\n\n**Execution Order**:\n1. All `before` hooks run in order\n2. Command executes\n3. All `after` hooks run in reverse order (or `onError` if command fails)\n\n## API Reference\n\nThe SDK uses a Command Pattern for all operations. Commands are created using factory functions and executed via the client's `request()` method. Each command function includes detailed JSDoc documentation describing its parameters, return types, and usage.\n\n### Available Commands\n\n#### Account Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetAccount` | Retrieve detailed information about a specific savings account |\n| `UpdateAccount` | Update account settings and configurations |\n| `DeleteAccount` | Delete a savings account |\n| `GetAccountsOfClient` | Get all accounts associated with a specific client |\n| `CreateAndActivateAccount` | Create and immediately activate a new savings account |\n| `ActivateAccount` | Activate an existing account |\n| `ApproveAccount` | Approve a pending account |\n| `RejectAccount` | Reject a pending account |\n| `UndoApprovalAccount` | Undo approval of an account |\n| `CloseAccount` | Close an existing account |\n| `PostInterestAsOn` | Post interest to an account as of a specific date |\n| `CalculateInterestAsOn` | Calculate interest for an account as of a specific date |\n| `WithdrawByClientId` | Process a withdrawal for a client's account |\n| `DepositByClientId` | Process a deposit to a client's account |\n\n#### Account Product Operations\n\n| Command | Description |\n|---------|-------------|\n| `CreateAccountProduct` | Create a new account product configuration |\n| `UpdateAccountProduct` | Update an existing account product |\n| `GetAllAccountProducts` | Retrieve all available account products |\n| `GetAccountProductById` | Get details of a specific account product |\n\n#### Account Statement Operations\n\n| Command | Description |\n|---------|-------------|\n| `GenerateAccountStatement` | Generate a statement for an account |\n| `DownloadAccountStatement` | Download a generated account statement |\n| `GetAccountDocumentsDetails` | Get details of account documents |\n\n#### Card Operations\n\n| Command | Description |\n|---------|-------------|\n| `SendAuthorizationToCore` | Send card authorization request to core system |\n| `UpdateCardID` | Update card identification information |\n\n#### Card Product Operations\n\n| Command | Description |\n|---------|-------------|\n| `ListCardProduct` | List all available card products with pagination |\n| `GetCardProduct` | Get details of a specific card product by ID |\n| `CreateCardProduct` | Create a new card product configuration |\n| `UpdateCardProduct` | Update an existing card product |\n\n#### Client Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetClient` | Retrieve detailed client information with optional related data |\n| `UpdateClient` | Update client information |\n| `CreateClient` | Create a new client record |\n| `GetClients` | List clients with filtering and pagination |\n| `DeleteClient` | Delete a client record |\n| `VerifyWithActivateClients` | Verify and optionally activate a client |\n| `GetStatusOfVerifyClient` | Get verification status of a client |\n| `CloseClient` | Close a client account |\n\n#### Client Address Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetClientAddress` | Retrieve client address information |\n| `CreateClientAddress` | Add a new address for a client |\n| `UpdateClientAddress` | Update existing client address |\n| `SetClientAddressStatus` | Set the status of a client address |\n\n#### Client Classification Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetClientClassification` | Get current classification of a client |\n| `SwitchClientClassification` | Switch client to a different classification |\n| `CancelSwitchClientClassification` | Cancel a pending classification switch |\n\n#### Client Identifier Operations\n\n| Command | Description |\n|---------|-------------|\n| `ListClientDocument` | List all identity documents for a client |\n| `GetPermittedDocumentTypes` | Get allowed document types for a client |\n| `CreateClientIdentifier` | Create a new identity document for a client |\n| `UpdateClientIdentifier` | Update an existing identity document |\n| `DeleteClientDocument` | Delete a client identity document |\n| `ApproveRejectClientDocument` | Approve or reject a client document |\n| `UploadClientIdentifierDocument` | Upload a document file for client identifier |\n\n#### Custom Operations\n\n| Command | Description |\n|---------|-------------|\n| `CustomUpdate` | Execute a custom update operation |\n| `CustomCreate` | Execute a custom create operation |\n| `CustomGet` | Execute a custom get operation |\n\n#### Global Configuration Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetConfigurations` | Retrieve all system configurations |\n| `GetConfigurationByName` | Get a specific configuration by name |\n| `EnableDisableConfiguration` | Enable or disable a configuration |\n| `UpdateConfiguration` | Update a configuration value |\n\n#### Payment Operations\n\n| Command | Description |\n|---------|-------------|\n| `CreatePayment` | Create a new payment |\n| `GetPayment` | Retrieve payment details by ID |\n| `UpdatePayment` | Update an existing payment |\n| `DeletePayment` | Delete a payment |\n| `GetPayments` | List payments with filtering options |\n\n#### Recipient Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetRecipient` | Get details of a specific recipient |\n| `CreateRecipient` | Create a new payment recipient |\n| `DeleteRecipient` | Delete a recipient |\n| `GetRecipients` | List all recipients for a client |\n\n#### Transaction Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetPendingTransactions` | Query pending transactions with filters |\n| `GetCompletedTransactions` | Query completed transactions with filters |\n| `GetRecentTransactions` | Retrieve recent transactions including status (Completed, Pending, Rejected) and card information |\n| `GetTransactionById` | Get details of a specific transaction by ID with optional enriched data |\n| `GetBankDetailsFromRoutingCode` | Get bank details from routing code for ACH or WIRE transfers |\n\n#### Transfer Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetTransfers` | List transfers with filtering options |\n| `CreateTransfer` | Create a new money transfer |\n| `GetTransfer` | Retrieve transfer details by ID |\n| `MarkAsSuccess` | Mark a transfer as successfully completed |\n| `MarkAsProcessing` | Mark a transfer as currently processing |\n| `MarkAsReturned` | Mark a transfer as returned with reason |\n| `LogFailTransfer` | Log a failed transfer with error details |\n| `MarkAsFail` | Mark a transfer as failed |\n| `UpdateTraceNumber` | Update the trace number for a transfer |\n\n#### User Operations\n\n| Command | Description |\n|---------|-------------|\n| `GetUserDetail` | Get current user details |\n| `EnableSelfServiceAccess` | Enable self-service access for a user |\n| `UpdateSelfServiceUser` | Update self-service user information |\n| `DeleteSelfServiceUser` | Delete a self-service user |\n\n## Documentation\n\nFor detailed information about specific features and APIs, refer to the following resources:\n\n### API Documentation\n- **[Mbanq API Reference](https://apidocs.cloud.mbanq.com/reference)** - Official API documentation with detailed endpoint information, request/response schemas, and examples\n\n### Quick Links\n- [Authentication Options](#authentication-options) - JWT, Bearer Token, and OAuth configuration\n- [Middleware Configuration](#middleware) - Logging, metrics, and custom middleware\n- [Error Handling Patterns](#error-handling) - Error types and handling strategies\n- [Type Definitions](#type-safety--validation) - Complete schema and type reference\n\n## Type Safety & Validation\n\nThe SDK uses [Zod](https://zod.dev/) for runtime type validation and TypeScript for compile-time type safety.\n\n### Supported Payment Rails\n- `ACH` - Automated Clearing House\n- `SAMEDAYACH` - Same Day ACH\n- `WIRE` - Domestic Wire Transfer\n- `SWIFT` - International Wire Transfer  \n- `INTERNAL` - Internal Transfer\n- `FXPAY` - Foreign Exchange Payment\n- `CARD` - Card Payment\n\n### Payment Statuses\n- `DRAFT`, `AML_SCREENING`, `AML_REJECTED`\n- `EXECUTION_SCHEDULED`, `EXECUTION_PROCESSING`, `EXECUTION_SUCCESS`, `EXECUTION_FAILURE`\n- `RETURNED`, `CANCELLED`, `COMPLIANCE_FAILURE`, `DELETED`, `UNKNOWN`\n\n### Validation Features\n- **Input Validation**: All create/update operations validate data structure\n- **Response Validation**: API responses are validated before returning\n- **Custom Rules**: WIRE transfers require recipient address with state/country\n- **Type Safety**: Full TypeScript support with inferred types\n\n## Error Handling\nThe library uses a consistent error handling pattern. All API calls may throw the following errors:\n\n### Error Types\n- **`CommandError`**: Base error type with `code`, `message`, `statusCode`, and optional `requestId`\n- **Authentication Errors**: Invalid or missing API credentials\n  - Invalid JWT secret/signee combination\n  - Expired or invalid bearer token\n  - OAuth credential authentication failure\n- **Validation Errors**: Invalid parameters provided (uses Zod validation)\n- **API Errors**: Server-side errors with specific error codes\n- **Network Errors**: Network connectivity or timeout issues\n\n### Common Authentication Error Scenarios\n- **Missing credentials**: No authentication method provided\n- **Invalid JWT**: Incorrect secret or signee values\n- **Expired token**: Bearer token has expired and needs refresh\n- **OAuth failure**: Invalid username/password or client credentials\n\n## Examples\n\n### Complete Transfer Flow Example\n\n```javascript\nimport { createInstance, CreateTransfer, GetTransfer, MarkAsSuccess } from '@mbanq/core-sdk-js';\n\n// Initialize the client\nconst client = createInstance({ \n  secret: 'your-secret', \n  signee: 'YOUR-SIGNEE', \n  baseUrl: 'https://api.cloud.mbanq.com', \n  tenantId: 'your-tenant-id' \n});\n\n// Create an ACH transfer\nconst achTransfer = await client.request(CreateTransfer({\n  amount: 1500,\n  currency: 'USD',\n  paymentRail: 'ACH',\n  paymentType: 'CREDIT',\n  debtor: {\n    name: 'Alice Corporation',\n    identifier: '111222333',\n    accountType: 'CHECKING',\n    agent: {\n      name: 'First National Bank',\n      identifier: '021000021'\n    }\n  },\n  creditor: {\n    name: 'Bob Enterprises',\n    identifier: '444555666',\n    accountType: 'CHECKING',\n    agent: {\n      name: 'Second Federal Bank',\n      identifier: '121000248'\n    }\n  },\n  reference: ['Invoice-2025-001']\n}));\n\nconsole.log('Created transfer:', achTransfer.id);\n\n// Get transfer details\nconst transfer = await client.request(GetTransfer(achTransfer.id));\nconsole.log('Transfer status:', transfer.status);\n\n// Mark transfer as successful\nif (transfer.status === 'EXECUTION_PROCESSING') {\n  await client.request(MarkAsSuccess(transfer.externalId, 'ACH'));\n  console.log('Transfer marked as successful');\n}\n```\n\n### Error Handling Example\n\n```javascript\nimport { isCommandError, CreateTransfer } from '@mbanq/core-sdk-js';\n\ntry {\n  const transfer = await client.request(CreateTransfer({\n    amount: -100, // Invalid: negative amount\n    currency: 'INVALID', // Invalid: not 3-character code\n    // Missing required fields\n  }));\n} catch (error) {\n  if (isCommandError(error)) {\n    console.error('Transfer creation failed:');\n    console.error('Code:', error.code);\n    console.error('Message:', error.message);\n    if (error.requestId) {\n      console.error('Request ID:', error.requestId);\n    }\n  } else {\n    console.error('Unexpected error:', error);\n  }\n}\n```\n\nFor more detailed information or support, please contact our support team or visit our developer portal.\n","readmeFilename":"README.md"}