{"_id":"@0xshariq/voxa","_rev":"13-3c94480f05ee530299d77ae0e89c4e5d","name":"@0xshariq/voxa","dist-tags":{"latest":"2.4.1"},"versions":{"1.0.0":{"name":"@0xshariq/voxa","version":"1.0.0","keywords":["http","http-client","axios"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@1.0.0","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"609ef732c4eec86f77a1acf3297a4db84bfd410a","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-1.0.0.tgz","fileCount":8,"integrity":"sha512-fWZGZanjyLHCnn+tvl0wwP4lY+GOMxyZhLhpKsPaA51RZ5dsFzMIlQIaJVmNduTELwlLZtqqwj5iJFJmixbWWw==","signatures":[{"sig":"MEUCIQDKxO1MWEGP8i63qtFPV3m7b+TwBEKiItXtAak6L5ntsgIgBbkPIj7zuHfAPyJWl/PoWZ21iiEycZNAuF/1BGRlyF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14738},"main":"./dist/voxa.js","type":"module","types":"./dist/voxa.d.ts","module":"./dist/voxa.js","exports":{".":{"types":"./dist/voxa.d.ts","import":"./dist/voxa.js","default":"./dist/voxa.js"}},"gitHead":"b8bf594025025c97f3e5907d9acecd8d699d1d82","scripts":{"build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git"},"_npmVersion":"11.6.1","description":"A Http Client Library for making HTTP requests using fetch.","directories":{},"_nodeVersion":"24.9.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/voxa_1.0.0_1763995033328_0.6582475416427751","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"@0xshariq/voxa","version":"2.0.0","keywords":["http","http-client","axios"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.0.0","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"bin":{"voxa":"dist/cli/index.js"},"dist":{"shasum":"46454c5073d75bf7d69dedfbebaeb4552cd30daf","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.0.0.tgz","fileCount":78,"integrity":"sha512-koJ5KHHUvY3jVQ4ryEYBZCsXPKrHp/+0TPb1N1hIXwBsJyfjMwICd9/kaumhnuiYkv05mu7pO6YNWs6NSji5lA==","signatures":[{"sig":"MEUCIQD9cl0aGxmxcpzVX6FvtnfAtD03aoSDFNd8YuB4YELW9AIgU5eY/TakjsYExOowoxjXR55e+/Jl05Sdc1qZtqf6lMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197045},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"c6b23f50d5689717873a757565e2a8b404fe2586","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git"},"_npmVersion":"11.6.1","description":"A Http Client Library for making HTTP requests using fetch.","directories":{},"_nodeVersion":"24.9.0","dependencies":{"uuid":"^13.0.0","redis":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.0.0_1764168862245_0.9125550206426367","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0":{"name":"@0xshariq/voxa","version":"2.1.0","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.1.0","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"bcc1bcbcedc1cdebf71e8803141fb9afbd6c407b","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.1.0.tgz","fileCount":99,"integrity":"sha512-KGc0wgGSrAnZZ6MKLEjTfsk6ffgbu0QlCGkwfUbl9zZKNC7E6Ytu5LqIVXfNH4yxune5DDy1lSfxmC/wTj9fLQ==","signatures":[{"sig":"MEYCIQC4frR6SWz06NCkpMyIXWaxIdBc58V8Xd50q1Z4cY/zZAIhAMdwnumpqpxuczpytEYVIXDBsBDOgU1TfiTzGlqQF5rf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"475c11864e4b488a003049ac9fc9a5b6d4d152cc","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.2","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.1.0_1764434026302_0.22923296059390807","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.0":{"name":"@0xshariq/voxa","version":"2.2.0","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.2.0","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"866b7821e76466abc12e39aefd205779c39dda2d","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.2.0.tgz","fileCount":103,"integrity":"sha512-e/xW8c7slZfbxCDNGgknQRmJAeW1gcEI99/OMdCxzBWkLbRM4pS1/TDQ/qRGzVZS/1MUGwGLeIWaQJBkzOrQEQ==","signatures":[{"sig":"MEYCIQCvJoyzgGfm83bEnoGBYrkXuKbkWmfUERp3g4npRI9uvQIhAIpgPyK8MIvdHByEoZuDoXRDNVMY2FUxetK7o/KIlpAo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184895},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"1b8adf6b8f6b14e77408f17f21b1707527f40489","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.2.0_1764521891699_0.3708976340535186","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.1":{"name":"@0xshariq/voxa","version":"2.2.1","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.2.1","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"215487faaccc8e7f042c634768ea0f59007de287","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.2.1.tgz","fileCount":103,"integrity":"sha512-AsllV3/kgHiFzwFWL3X4ydtXEU/hhxUPVpy746zTvJt1SxqgHE97k2zPdZGZv8ezWQoV7VXpgSBD18xZIPTXCQ==","signatures":[{"sig":"MEUCIQD0UIAv4vXQg88avkH4f5Ld4hwxHaMF8yQdJOrvzAzHbwIgP2qsVExTIPoIFxtLIeHDUmo00iSI3k/ox/XzWUufzo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"b6b0a6bb435a3ec720f661fa70da1a47543c87cd","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.2.1_1764578333147_0.7446700278965264","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.2":{"name":"@0xshariq/voxa","version":"2.2.2","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.2.2","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"e4df308e45374d82e76add5bcc9c5da5b1d6b5a5","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.2.2.tgz","fileCount":103,"integrity":"sha512-QmXyiLLY4f1I3GBVp5CceNoB7uqyUCVM4hOZqZpKjPlOdBs05Z55lzH4CfN7zrYwqvLRPc78mC1r+RZRAKFIXQ==","signatures":[{"sig":"MEUCIQCmK0v9SBnXbWg2eDz3z+U4PkW84bWnNWzQjebA8bgoDAIgcO+FP4Aqg5UvpYX7GLWJYG/4s/JVQXSQV+I+uIc9obM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192347},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"52fde85f2b18ec96277c4b97cedf11e620ce397e","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.2.2_1764594694877_0.8298315480829035","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.3":{"name":"@0xshariq/voxa","version":"2.2.3","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.2.3","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"57cf3534fe62ddf1b98bcbdd1d4b72d10151977d","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.2.3.tgz","fileCount":103,"integrity":"sha512-xgKO+u9UKOHx58ScAEC2yaBYD5ha9wIQBYNazJQ7Uxes9t3Tko1vHJOGUGcOoeSfouNNig9RO4LcC9sy5gX8bw==","signatures":[{"sig":"MEQCIDbL+12fPLVYq7zTyJDy5LW1/hz/uDNkNlUEBBE6qYhQAiBGusiv+6NqJTOHi7Lzz2nCX9VE2A2rnRtZwA1dTD83+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193038},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"20b00d3874f3effcdb5ff629230f8ef3803532cc","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.2.3_1764615728714_0.3326557690457732","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.4":{"name":"@0xshariq/voxa","version":"2.2.4","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.2.4","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"bd9f3b6f0d8acfa9c5b667ce35d21042483edea3","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.2.4.tgz","fileCount":103,"integrity":"sha512-KIDY8xVeRLQBMH9Bx05Y6qDqpcJwD62h/XQOeqZNh+fivZRc61D1crT2l40HqwM+yfTc3ejDgZUCj5YpE7jFpw==","signatures":[{"sig":"MEYCIQCBsvScnzvE8PIDxOlRoenEHEjpYoriB7laQ3M2DpnV2gIhAJLu7jGYhdTD2Ol0Hcotjx74Njv1iByEIMejQfzSXIQR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193086},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"dcc9824e83e52c9d97ebce4f7af0d0201803acb2","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.2.4_1764616335198_0.9729056380419334","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.5":{"name":"@0xshariq/voxa","version":"2.2.5","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.2.5","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"22bb164247c62519d0a65045da5dce0a59ac3441","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.2.5.tgz","fileCount":103,"integrity":"sha512-SQA5b+Gop3H81+mBWmiloH3/uo30oru+DPwv7rUva6wNgFo07dVt0/EI08EK3+0X+9PqEgzoL+45MeTe7uIFVA==","signatures":[{"sig":"MEUCIQDZ8ReqYiq9n48KuQhTagBszuDO8fwt2pbCAVsOMvVJdQIgQxRpe9aEZmxRdYwuJtENtoihzzSyhzXDyKxbMqx94bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197098},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"d85f8fe58983e3b43e32196fbde3c0494cc73f04","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.2.5_1764691184548_0.5324319943429345","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.0":{"name":"@0xshariq/voxa","version":"2.3.0","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.3.0","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"7922a0f01ca8b47c72528cdf2349c1a61721a768","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.3.0.tgz","fileCount":103,"integrity":"sha512-h9R13hmlqexdMCn9ytG924UdX/v9hMyzxbOQE+FPAqpQvbQcVoWlyD/OVXy4T4LLzq+hRC/Zj7BWWCls7yabwA==","signatures":[{"sig":"MEYCIQCtsZGCe9BCTkkX40zeQmmfGB8gT157fMueyXS4dXKqtAIhANsOXfUkppJm2Szp59X4+H1YtJOPPUiAGVh4RwreJsIR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198735},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"82ac213f06c7a82f3b8ab6b1cff52b1e6043ca6d","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.3.0_1764700352013_0.4477873112701751","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.0":{"name":"@0xshariq/voxa","version":"2.4.0","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.4.0","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"b92c41b52898cb7d1743c6abf0091a7fc18c6c6d","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.4.0.tgz","fileCount":123,"integrity":"sha512-W/HhLkyrcFIku5mghemnpLt84ffRN+5trNX5ZoIhx81gOnff+NEK/eMNYruBRP4Z8xrkjUo6fBUatvGv62xfaw==","signatures":[{"sig":"MEMCH2IZRJhPFcLtTTdn2R0ugXAJiP8u1vGf2srW06nDGNICIARzcDMh1Y35DR/HrPU2RVbYR7F15SInj0jHE7HFM9z9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247410},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"7010623910e4d81d7829525842040741a0ec930f","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.4.0_1764845916087_0.7972263759670573","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.1":{"name":"@0xshariq/voxa","version":"2.4.1","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"author":{"name":"Sharique Chaudhary"},"license":"MIT","_id":"@0xshariq/voxa@2.4.1","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"homepage":"https://github.com/0xshariq/voxa#readme","bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"dist":{"shasum":"07f64136fc5a0f00d5524e67b52f24eed8a49b4f","tarball":"https://registry.npmjs.org/@0xshariq/voxa/-/voxa-2.4.1.tgz","fileCount":123,"integrity":"sha512-O8Bz+EXKtj6IrueTYkvxAsSrZMaUJlqd6Cm16qjT9YEdhEFbEPg0N+7I10ndMYNhPXw76jX6CrvGxuF0DY2psQ==","signatures":[{"sig":"MEUCIGKVx3GgqVV+KRtcA6toWyupaiHlRU6hIschPXbxjJ5KAiEAyVlcmPBbRskWSJfxXt4hDruwGGrVk3RL+AHgyfTVcfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255395},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.js","default":"./dist/config/index.js"}},"gitHead":"dacc91c49efa674f4efe71d52a871dab0005d9d1","scripts":{"dev":"tsx src/test.ts","test":"tsx src/test.ts","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","prepublishOnly":"pnpm run clean && pnpm run build"},"_npmUser":{"name":"0xshariq","email":"khanshariq92213@gmail.com"},"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"_npmVersion":"11.6.4","description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"uuid":"^13.0.0","redis":"^5.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1","@types/uuid":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/voxa_2.4.1_1764847193272_0.23279184278428788","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-11-24T14:37:13.247Z","modified":"2025-12-05T16:37:00.632Z","1.0.0":"2025-11-24T14:37:13.514Z","2.0.0":"2025-11-26T14:54:22.435Z","2.1.0":"2025-11-29T16:33:46.515Z","2.2.0":"2025-11-30T16:58:11.930Z","2.2.1":"2025-12-01T08:38:53.333Z","2.2.2":"2025-12-01T13:11:35.058Z","2.2.3":"2025-12-01T19:02:08.884Z","2.2.4":"2025-12-01T19:12:15.394Z","2.2.5":"2025-12-02T15:59:44.730Z","2.3.0":"2025-12-02T18:32:32.227Z","2.4.0":"2025-12-04T10:58:36.245Z","2.4.1":"2025-12-04T11:19:53.425Z"},"bugs":{"url":"https://github.com/0xshariq/voxa/issues"},"author":{"name":"Sharique Chaudhary"},"license":"MIT","homepage":"https://github.com/0xshariq/voxa#readme","keywords":["http","http-client","fetch","axios","request","cache","retry","typescript"],"repository":{"url":"git+https://github.com/0xshariq/voxa.git","type":"git","directory":"packages/voxa"},"description":"A modern HTTP client library built on native Fetch API with advanced features like caching, retry, and request deduplication.","maintainers":[{"name":"0xshariq","email":"khanshariq92213@gmail.com"}],"readme":"# Voxa HTTP Client\n\nModern, feature-rich HTTP client for Node.js and browsers, built on the native Fetch API. Supports REST and GraphQL, automatic JSON parsing, metadata, caching, deduplication, queueing, and more.\n\n[![npm version](https://img.shields.io/npm/v/@0xshariq/voxa.svg)](https://www.npmjs.com/package/@0xshariq/voxa)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## ✨ Features\n\n- 🔄 **Automatic Retry** (exponential backoff)\n- 💾 **Response Caching** (memory/redis/custom)\n- 🎯 **Request Deduplication**\n- ⚡ **Priority Queue**\n- 🔒 **TypeScript First**\n- 🔌 **Interceptors**\n- 📊 **Request Tracking & Metadata**\n- ⏱️ **Timeout Control**\n- 🚀 **Static Methods**\n- 🛑 **CancelManager**\n- 📡 **OfflineQueueManager**\n- 🪪 **TokenManager**\n- 🧬 **GraphQL Support**\n- 🧪 **Automatic JSON Parsing**\n- 📹 **Streaming Images/Videos** (with progress tracking)\n- 🔐 **SSRF Protection**\n\n## 📦 Installation\n\n```bash\nnpm install @0xshariq/voxa\n# or\npnpm install @0xshariq/voxa\n# or\nyarn add @0xshariq/voxa\n```\n\n## 🚀 Usage\n\n## 🧩 Feature Modularity & Extensibility\n\nVoxa's features (cache, retry, queue, batch, deduplication, interceptors, etc.) are fully modular and can be enabled, disabled, or extended at runtime.\n\n### Enabling/Disabling Features at Runtime\n\nYou can toggle features on/off by updating the instance configuration:\n\n```typescript\n// Disable cache and queue at runtime\napi.updateConfig({\n  cache: { enabled: false },\n  queue: { enabled: false },\n});\n\n// Enable retry and set new retry count\napi.updateConfig({\n  retry: { enabled: true, count: 10 },\n});\n```\n\n> **Note:** Not all features support dynamic reconfiguration in-flight. For critical changes, create a new instance with the desired config.\n\n### Extending with Plugins (Custom Features)\n\nYou can add your own features or override built-in ones by attaching custom managers or hooks:\n\n```typescript\n// Example: Add a custom logging plugin\napi.usePlugin({\n  onRequest(config) {\n    console.log(\"Request:\", config.url);\n    return config;\n  },\n  onResponse(response) {\n    console.log(\"Response:\", response.status);\n    return response;\n  },\n});\n```\n\n#### Plugin Interface\n\nA plugin is an object with any of these hooks:\n\n- `onRequest(config)`\n- `onResponse(response)`\n- `onError(error)`\n- `onBatch(batch)`\n- `onCacheEvent(event)`\n\nYou can register multiple plugins. They are called in the order added.\n\n#### Disabling a Feature for a Single Request\n\n```typescript\n// Disable cache for a single request\nawait api.get('/users', { cache: { enabled: false } });\n\n// Set custom queue priority for a single request\nawait api.post('/orders', { ... }, { priority: 'critical' });\n```\n\nSee [Advanced Features](./docs/ADVANCED.md) for more on feature modularity and plugins.\n\n### Using Voxa with an Instance\n\n### Injecting Custom requestId & Metadata\n\nYou can supply your own `requestId` or custom metadata for distributed tracing or advanced tracking:\n\n```typescript\n// Provide a custom requestId and metadata for tracing\nconst response = await api.get(\"/users/1\", {\n  requestId: \"trace-abc-123\",\n  metadata: {\n    traceId: \"trace-abc-123\",\n    userId: \"user-42\",\n    customField: \"my-value\",\n  },\n});\nconsole.log(response.metadata); // includes your custom fields\n```\n\n> **Note:** If you provide a `requestId`, it will be used for all feature tracking (cache, batch, queue, etc.).\n\nCreate a client instance to reuse configuration and advanced features:\n\n```typescript\nimport voxa from \"@0xshariq/voxa\";\n\nconst api = voxa.create({\n  baseURL: \"https://api.example.com\",\n  timeout: 5000,\n  // ...other options\n});\n\n// Make requests (response is always parsed JSON)\nconst response = await api.get<User>(\"/users/1\");\nconsole.log(response.data); // { id, name, ... }\n\n// You can also use other HTTP methods:\nawait api.post(\"/users\", { name: \"John\" });\nawait api.put(\"/users/1\", { name: \"Jane\" });\nawait api.delete(\"/users/1\");\n```\n\n### Using Voxa Without an Instance (Static Methods)\n\nCall static methods directly for one-off requests:\n\n```typescript\nimport { Voxa } from \"@0xshariq/voxa\";\n\nconst response = await Voxa.get<User>(\"https://api.example.com/users/1\");\nconsole.log(response.data);\n\n// Other static methods:\nawait Voxa.post(\"https://api.example.com/users\", { name: \"John\" });\nawait Voxa.put(\"https://api.example.com/users/1\", { name: \"Jane\" });\nawait Voxa.delete(\"https://api.example.com/users/1\");\n```\n\nUse an instance for advanced features (caching, queueing, interceptors, GraphQL, etc.), or static methods for simple requests.\n\n## 🚀 Quick Start\n\n### Complete Instance Example\n\n```typescript\nimport voxa from \"@0xshariq/voxa\";\n\nconst api = voxa.create({\n  baseURL: \"https://api.example.com\", // string\n  timeout: 5000, // number (ms)\n  headers: {\n    \"Content-Type\": \"application/json\", // string\n    Authorization: \"Bearer <token>\", // string\n  },\n  priority: \"high\", // 'critical' | 'high' | 'normal' | 'low'\n  retry: {\n    enabled: true, // boolean (default: true)\n    count: 5, // number (max: 5)\n    delay: 1000, // number (ms)\n    exponentialBackoff: true, // boolean\n    maxRetry: 10000, // number (ms)\n    statusCodes: [429, 500, 502, 503, 504], // number[]\n  },\n  deduplication: {\n    enabled: true, // boolean (default: true)\n    ttl: 300000, // number (ms)\n  },\n  cache: {\n    enabled: true, // boolean (default: true)\n    ttl: 300000, // number (ms, default: 5 min)\n    storage: \"memory\", // 'memory' | 'custom'\n    adapter: undefined, // custom cache adapter (optional)\n  },\n  queue: {\n    enabled: true, // boolean\n    maxConcurrent: 5, // number\n  },\n  batch: {\n    enabled: true, // boolean\n    endpoint: \"/batch\", // string (optional)\n    wait: 100, // number (ms, optional)\n    maxBatchSize: 10, // number (optional)\n  },\n  token: {\n    enabled: true, // boolean\n    type: \"bearer\", // 'bearer' | 'oauth2' | 'jwt'\n    tokenEndpoint: \"/auth/token\", // string\n    clientId: \"client-id\", // string\n    clientSecret: \"client-secret\", // string\n    refreshEndpoint: \"/auth/refresh\", // string\n    storage: \"memory\", // 'memory' | 'localStorage'\n    getToken: async () => \"token\", // function\n    setToken: (token: string) => {}, // function\n    refreshToken: async () => \"new-token\", // function\n  },\n  // Token refresh failure hook\n  onTokenRefreshFailure: (error, context) => {\n    // Custom logic: log, alert, or trigger re-authentication\n    console.error(\"Token refresh failed:\", error, context);\n    // Optionally, redirect user or clear session\n  },\n\n  // Multi-tenant/multi-user support example\n  getToken: async (userId) => {\n    // Fetch token for a specific user/tenant\n    return await fetchTokenForUser(userId);\n  },\n  setToken: (token, userId) => {\n    // Store token for a specific user/tenant\n    saveTokenForUser(token, userId);\n  },\n  refreshToken: async (userId) => {\n    // Refresh token for a specific user/tenant\n    return await refreshUserToken(userId);\n  },\n\n  // Usage:\n  // await api.get('/resource', { userId: 'user-42' });\n  offline: {\n    enabled: true, // boolean (default: true)\n    storage: \"localStorage\", // 'localStorage' | 'indexedDB'\n  },\n  circuitBreaker: {\n    enabled: true, // boolean\n    threshold: 5, // number\n    timeout: 10000, // number (ms)\n    onOpen: () => {}, // function (optional)\n  },\n  metrics: {\n    enabled: true, // boolean\n  },\n  errors: {\n    enabled: true, // boolean (default: true)\n  },\n  rate: {\n    enabled: true, // boolean (default: true)\n    maxRequests: 100, // number\n    perMilliseconds: 60000, // number (ms)\n  },\n  schema: {\n    enabled: true, // boolean\n    requestSchema: undefined, // any (optional)\n    responseSchema: undefined, // any (optional)\n    library: \"zod\", // 'zod' | 'yup' (optional)\n  },\n  cancel: {\n    enabled: true, // boolean (default: true)\n  },\n  graphql: {\n    enabled: true, // boolean\n    endpoint: \"https://graphqlzero.almansi.me/api\", // string\n    logErrors: true, // boolean\n    headers: undefined, // Record<string, string> (optional)\n    timeout: undefined, // number (optional)\n    cache: undefined, // boolean (optional)\n  },\n  interceptors: {\n    request: [\n      (config) => {\n        /* modify config */ return config;\n      },\n    ],\n    response: [\n      (response) => {\n        /* log/modify response */ return response;\n      },\n    ],\n  },\n  metadata: {\n    enabled: true, // boolean (default: true)\n    log: true, // boolean (log metadata events)\n    fields: [\n      \"id\",\n      \"method\",\n      \"endpoint\",\n      \"priority\",\n      \"timestamp\",\n      \"startTime\",\n      \"endTime\",\n    ], // string[] (fields to track)\n    maxEntries: 100, // number (max entries to keep)\n    customHandler: (meta) => {}, // function (custom handler)\n  },\n});\n```\n\n// All options above are shown with possible values in comments.\n// You can use only the options you need.\n\n````\n\n### TypeScript Generics\n\n```typescript\ninterface User {\n  id: number;\n  name: string;\n  email: string;\n}\n\n// Type-safe responses\nconst response = await api.get<User>(\"/users/1\");\nconst user: User = await response.json();\n```\n\n### Streaming Upload/Download\n\n```typescript\nimport { StreamingImageManager, StreamingVideoManager } from '@0xshariq/voxa';\n\n// Upload image with progress tracking\nconst streamingImages = new StreamingImageManager({});\n\nconst fileInput = document.querySelector('input[type=\"file\"]');\nconst file = fileInput.files[0];\n\nawait streamingImages.upload(\n  'https://api.example.com/images/upload',\n  file,\n  { 'Content-Type': 'image/jpeg' },\n  (sentBytes, totalBytes) => {\n    const percentage = (sentBytes / totalBytes) * 100;\n    console.log(`Upload progress: ${percentage.toFixed(2)}%`);\n  }\n);\n\n// Download video with progress\nconst streamingVideos = new StreamingVideoManager({});\n\nconst response = await streamingVideos.download(\n  'https://api.example.com/videos/12345',\n  {},\n  (receivedBytes, totalBytes) => {\n    console.log(`Downloaded: ${receivedBytes}/${totalBytes} bytes`);\n  }\n);\n\nconst blob = await response.blob();\nconst videoUrl = URL.createObjectURL(blob);\n```\n\nSee [Streaming Guide](./docs/STREAMING.md) for complete examples and advanced usage.\n\n## 📖 Documentation\n\n### Core Documentation\n\n**Documentation:**\n\n- [Configuration Guide](./docs/CONFIGURATION.md) — All config options\n- [Advanced Features](./docs/ADVANCED.md) — Caching, deduplication, queueing, interceptors, GraphQL, etc.\n- [Streaming Guide](./docs/STREAMING.md) — Image/video upload/download with progress tracking\n- [Developer Experience](./docs/DEVELOPER_EXPERIENCE.md) — Debug mode, logging, public getters, type safety\n- [Troubleshooting](./docs/TROUBLESHOOTING.md) — Common issues and solutions\n- [Custom Cache](./docs/CUSTOM_CACHE.md) — Custom cache implementation\n- [Batch Usage](./docs/BATCH_USAGE.md) — Batch request patterns\n- [Examples](./docs/EXAMPLES.md) — Usage patterns and code samples\n\nSee docs/ for full details and up-to-date usage.\n\n## 🎯 Key Features\n\n### Automatic Retry with Exponential Backoff\n\n```typescript\nconst api = voxa.create({\n  baseURL: \"https://api.example.com\",\n  retry: {\n    count: 3, // Max 3 retries\n    delay: 1000, // Initial delay: 1s\n    exponentialBackoff: true, // 1s → 2s → 4s\n    maxRetry: 10000, // Max delay: 10s\n  },\n});\n```\n\n### Response Structure\n\n```typescript\n{\n  response: Response, // Http Response object\n  data: {}, // Api Data will store here\n  metadata: {\n    id: \"string\", // requestId used everywhere\n    method: \"'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'\",\n    endpoint: \"string\",\n    priority: \"'critical' | 'high' | 'normal' | 'low'\",\n    timestamp: 2000,\n    startTime: 2000,\n    endTime: 2000\n  },\n  requestId: string, // Unique requestId, used in all features (queue, batch, cache, metrics, etc.)\n  status: 200,\n  statusText: \"Ok\"\n}\n```\n\nSee [Response Structure](./src/lib/types/client-types.ts) for detailed info.\n\n### Response Caching\n\n```typescript\n// Memory cache (default)\nconst api = voxa.create({\n  cache: {\n    enabled: true,\n    type: \"memory\",\n    ttl: 300000, // 5 minutes\n  },\n});\n\n// Redis cache\nconst api = voxa.create({\n  cache: {\n    enabled: true,\n    type: \"redis\",\n    ttl: 300000,\n  },\n});\n```\n\n### Request Prioritization\n\n```typescript\n// High priority request\nawait api.get(\"/critical-data\", { priority: \"critical\" });\n\n// Normal priority (default)\nawait api.get(\"/regular-data\");\n\n// Low priority\nawait api.get(\"/background-data\", { priority: \"low\" });\n```\n\n### Request Interceptors\n\n```typescript\n// Add authentication header\napi.interceptors.request.use((config) => {\n  config.headers = {\n    ...config.headers,\n    Authorization: `Bearer ${getToken()}`,\n  };\n  return config;\n});\n\n// Log responses\napi.interceptors.response.use((response) => {\n  console.log(\"Response:\", response.status);\n  return response;\n});\n```\n\n## 🔧 Configuration\n\n### Environment Variables\n\nCreate a `.env` file in your project root:\n\n```env\n# Cache Configuration (Generic - works with any cache backend)\nCACHE_URL=redis://localhost:6379\nCACHE_PASSWORD=your-password\nCACHE_HOST=localhost\nCACHE_PORT=6379\nCACHE_DB=0\n\n# HTTP Configuration\nHTTP_TIMEOUT=5000\nHTTP_BASE_URL=https://api.example.com\n```\n\nSee [Configuration Guide](./docs/CONFIGURATION.md) for detailed options.\n\n## 📊 Monitoring & Statistics\n\n```typescript\n// Get cache statistics\nconst cacheStats = api.getCacheStats();\nconsole.log(cacheStats); // { storage: 'memory', size: 10, entries: [...] }\n\n// Get queue statistics\nconst queueStats = api.getQueueStats();\nconsole.log(queueStats); // { queueSize: 2, activeRequests: 3, maxConcurrent: 5 }\n\n// Get request metadata\nconst metadata = api.getRequestMetadata(\"request-id-123\");\nconsole.log(metadata); // { id, method, endpoint, duration, ... }\n```\n\n## Request ID Format and Expiry\n\nEach request is assigned a unique `requestId` for tracking and feature management. The format is:\n\n```\n<timestamp>-<expiry>-<random>\n```\n\n- `timestamp`: When the request was created\n- `expiry`: When the requestId expires (used for cache/batch conflict avoidance)\n- `random`: Random string for uniqueness\n\n- **Cache feature** uses a 5 minute expiry (default).\n- **Batch feature** uses a 15 minute expiry.\n\nThis prevents conflicts when the same request is sent at different times. Always use the generated requestId for all features (cache, batch, queue, etc.).\n\n---\n\n## Error Classification & Debugging\n\nVoxa now provides detailed error classification and debugging messages for every request. Use `api.classifyError(error)` to get both the error category and a helpful message for easier troubleshooting.\n\n---\n\n### Feature Manager Access\n\nAll feature managers (cache, queue, deduplication, metadata, circuit breaker, batch, rate limiter, metrics, schema, error classifier) are accessible via public methods or stats getters:\n\n- `api.getCacheStats()`\n- `api.getQueueStats()`\n- `api.getDeduplicationStats()`\n- `api.getMetadataStats()`\n- `api.circuitBreaker()`\n- `api.batch()`\n- `api.rate()`\n- `api.metrics()`\n- `api.schema()`\n- `api.classifyError(error)`\n\n---\n\n## 🧪 Testing\n\n```bash\n# Run test file directly\npnpm test\n\n# Or using development mode\npnpm dev\n```\n\n## 📝 HTTP Methods\n\nVoxa supports all standard HTTP methods:\n\n```typescript\nawait api.get(\"/users\");\nawait api.post(\"/users\", { name: \"John\" });\nawait api.put(\"/users/1\", { name: \"Jane\" });\nawait api.patch(\"/users/1\", { email: \"new@example.com\" });\nawait api.delete(\"/users/1\");\nawait api.head(\"/users\");\nawait api.options(\"/users\");\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📄 License\n\nMIT © [Sharique Chaudhary](https://github.com/0xshariq)\n\n## 🔗 Links\n\n- [GitHub Repository](https://github.com/0xshariq/voxa)\n- [npm Package](https://www.npmjs.com/package/@0xshariq/voxa)\n- [Issue Tracker](https://github.com/0xshariq/voxa/issues)\n\n## 🌟 Credits\n\nBuilt with inspiration from Axios and modern web standards.\n\n---\n\n**Note:** This project is built on the native Fetch API and requires Node.js 18+ or a modern browser environment.\n","readmeFilename":"README.md"}