{"_id":"@fetchkit/ffetch","_rev":"41-cbeac3c316fd44ede2f06cab765c9d31","name":"@fetchkit/ffetch","dist-tags":{"latest":"5.6.2"},"versions":{"3.4.1":{"name":"@fetchkit/ffetch","version":"3.4.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@3.4.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"99bd8341c6ab5c16575a3f7fd9ff5cd4ba268cd8","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-3.4.1.tgz","fileCount":11,"integrity":"sha512-EAvN1P0tn0uscV2eBaZFh0emjy0eLq3Kza4MBCrBjG0IUPWtC4dJaiCHWdXEWsl4Yy7zgaMly7RBQ9vm8r00cw==","signatures":[{"sig":"MEUCIQCMrPcJOV/lMmgk27WwUKNIPeNGnIaSGwtNRj0AqWxyyAIgOpchx7LQk80np3nArRmExWHbqYfYAevHBVhNBd2RDhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122316},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3acdde1624a7316698ab90a46daf51fc8cd5d119","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_3.4.1_1758836322391_0.09676347917583739","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@fetchkit/ffetch","version":"3.4.2","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@3.4.2","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"4a15905b7f0db8f544faaa437984ef8a6605d350","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-3.4.2.tgz","fileCount":11,"integrity":"sha512-olQR/rLKoT1txH3R4IWQIH0XMEVAAY0d3+YVqB7+ifGIOsu7OYVvVqYkJCq6dXVCuYdn77eGQHQ5/nxtYtFrig==","signatures":[{"sig":"MEQCIDUEhA0PXB1g+aVPdiq5VheOAehmrefqwlrylzNp8sLmAiBh/gncYYAaVgPEy4lv6tRibzvGyCmcP0g0LIXmNTw9Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122346},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"50e243667ff4359e9d0bcc77c5552eeb540fa2a2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_3.4.2_1759239724346_0.11466789902964636","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@fetchkit/ffetch","version":"4.0.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"6bff6e13d2c2637bee9bc91d5ff2ef643920a347","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.0.tgz","fileCount":19,"integrity":"sha512-NPZ5TM6+QuYdmhjAOFDFTPokUCIBE4VBhm2IbEQHhfhx86q8MFNwnln+/VBfXTgqwpugYW0Tn96sPtj8S7AMtQ==","signatures":[{"sig":"MEUCIHQBcM0itAnEiIZUs7nA4A17YXlvEuVvZOSleg+FjhjzAiEA2YZz7Mf9FSBzQqpvXHlXQHVT378MNmGxcwcygKKP47k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140455},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"54c4398e1bd294669b56f03454cc062f71518b77","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.0_1759346599585_0.5025129810527256","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@fetchkit/ffetch","version":"4.0.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"9757f771289791825776ce4ecc2c33f76ca9f38c","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.1.tgz","fileCount":19,"integrity":"sha512-lTMgfuxCEZgzeaZWcaRhB/VYiND/uhTL+npSnz5GG+AZz/+XS9xcRV4pHj9qy8WISGXVVwn7bc1pkG+IYIZT9g==","signatures":[{"sig":"MEUCIQDZt19Wb815vapJCDBaRWtia7DHRE2fMW31rJVn4a89CQIgVnOh0GXepUN7fWQfcAk+GKQza/ZVBeEqcWOUqC5LRCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140463},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0f10f19ff0603fa24a80e4623fbcf11f1b695ef6","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.1_1759346815700_0.6477630860059977","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@fetchkit/ffetch","version":"4.0.2","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.2","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"43307947cd11f1a7f9d172fdb7e6ccc0cca094a8","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.2.tgz","fileCount":19,"integrity":"sha512-ih/kXL0ZUaNt0MJotjzA7sJmx3GXcPk7D4cDJrgUPyi7fnCWyix3ruImNos8t+gVvoMpSb3tXAxl0g/DzWoptQ==","signatures":[{"sig":"MEQCIGIGUN2ocPy+ZOwdGi1yl/Ah940JUvJEajzHGuQxoHKKAiAva7q1axsMxDWI1OtrjQVYjyDXe9+cThFH5uz5kmCytw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2cafc64363f54e60dd98293ff0e56fe148c10b52","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.2_1759353764864_0.6231740182592085","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@fetchkit/ffetch","version":"4.0.3","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.3","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"6d65bbad7e1ab76c76804ddb6824d1f25429bf46","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.3.tgz","fileCount":19,"integrity":"sha512-86bU1L4fHwQxHeOHTimYtWmbJHPPa4CNwpvy3+0gMxJ3H6lnUH8zQfmcKcvNDHUNnHYrVUfGQvtkaIkwoLHvFA==","signatures":[{"sig":"MEQCICT64FFIkw+2+KiCSvDCzg3UizmjkhD5YKOCyUI1MLZaAiBKeGf1JeXDjFjjQ4Qqu8ngZQ8Kb+ll8/1YDSlQ4L2t9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4caf38544d9aa693ee545c0801d9dc9315bceae2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.3_1759395420672_0.25680336444603546","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@fetchkit/ffetch","version":"4.0.4","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.4","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"5cc0b37ee9ebdcc763907981c1ffbed927d2fbfc","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.4.tgz","fileCount":19,"integrity":"sha512-KrV0z8vZSCtp5zxOqM65Xb0qcshvxVcgX98Xg9RRXjWhKvuorotZkJktulnKeF6KEN2xu1ZKmlk6x4o4vJ174w==","signatures":[{"sig":"MEQCID8sgwmrPdlmAV8hdWh8KJrmDjHsWgVY55q7OFlhmPsmAiAb8+GPS6NZ1gIfp3Y39SGZhb7r9nhWt03ZTuMuoaAEwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e81f735a0987f283c6d8daa9fc7c4d9a593f904a","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.4_1759395793963_0.2810570803666257","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@fetchkit/ffetch","version":"4.0.5","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.5","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"483ef6f36bb744cfef0583b93f08db931b07f792","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.5.tgz","fileCount":19,"integrity":"sha512-UV7CPxzKrM+taY/mGBKqeyMV1B40H18SSeOhdy9201WSAih2Otm6lt0AykqQCJELJ3xem4MKBo+U/glXmqlxEA==","signatures":[{"sig":"MEUCICsskl3xAv974sizcv90VmeFvPu3MXH5kl08vK963w1dAiEA/6YG2BI0xKfw2/wqLO8cLYKXHgotdbEhZFqoh5ACTVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"75becce24ba81dd5408b8952bd2e7e09201d26d0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.5_1759396346845_0.18288672181943455","host":"s3://npm-registry-packages-npm-production"}},"4.0.6":{"name":"@fetchkit/ffetch","version":"4.0.6","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.6","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"990ab0c1d8b423c87a1b51143a945a629d84a4dc","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.6.tgz","fileCount":19,"integrity":"sha512-RVcLUJgR+F/X78Q6ZvXS3kOD7cP0+NrEDdtUkbDt4F3YtSeBKGVxJw3yFGhSsWyKf4c/VYPl6EkPvEbTRE/PMw==","signatures":[{"sig":"MEUCIHQJX/tdga50cEoknrP5c6NndowjxNB0Qd/cMd2meYZlAiEA8gHYFDrpAu805f2TJiBHYotnG0GoNCzPHP6uAJ6s4KI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a871084bbb5f80ae243fe2883093803bde2a1501","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.6_1759396794309_0.49382205026706516","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"@fetchkit/ffetch","version":"4.0.7","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.7","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"c8e6d3e292412a43fa34fba24764b49c824e37a1","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.7.tgz","fileCount":19,"integrity":"sha512-P+MSazdhc5oz2sQle5NuqwS7Yk1Zl78Ewrtg7L8zmGgpFY0OX1q7tBAAOaS6lC084g3Ja/XG5lBdwZeKS0QfdQ==","signatures":[{"sig":"MEQCIHI/rKhqPdaR1088QyiRuR9rfrK4uliCI3Stq7TV4A5sAiBfcDUpBZcY9RAQMrtY3tee6FTWr63Ag+7EMFFKzzw/SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"56db80c3253f1150373ad072ec764469e52b2c24","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.7_1759397211132_0.34540103587903737","host":"s3://npm-registry-packages-npm-production"}},"4.0.8":{"name":"@fetchkit/ffetch","version":"4.0.8","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.8","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"bc521e1498f09ec3a388c3f2d493f0fcbbfe8d7b","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.8.tgz","fileCount":19,"integrity":"sha512-+h5xjnwT3/MUTyH3hKi4Emfg3MZ/D0YRt6jaTJajHBMKLM8g+K3O6CHF1pIJZNmmKXheEk8s0kkdZjpeYFbMzw==","signatures":[{"sig":"MEUCIQCTynQGEtR5hufrRZ0zxtpChEomBeR1tDBl7WT87q81vwIgMeYAsZ0o/AvlDBoZD0KM7qjS7yrkZjbI4izdmUoFif8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"618dd889fecdae723497eed822134e1c8e720cba","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.8_1759397693889_0.5856740648474656","host":"s3://npm-registry-packages-npm-production"}},"4.0.9":{"name":"@fetchkit/ffetch","version":"4.0.9","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.9","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"aa5981103d5db8e0358e70dbeefe7b61729ac9fa","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.9.tgz","fileCount":19,"integrity":"sha512-L96lcX7nS8ezi8j/snyoDyDDTtxKqQgaZaq8WZ8LY4/V3Y3fGsLg2c7hNyAMOPsxT1B9fRXEV2FLEORSMwK0GA==","signatures":[{"sig":"MEYCIQCIAtvGWo3B16DO3I0l1PMrgmgHqPtAHF2FnzFKaipo+AIhANqu7+X3snPbXw4gOym9FRuPhtWA3N0sr3OzKvTk1pk4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140577},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fa0b755c045b76b6baa09b5defa8242950f6d9a4","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.9_1759397920088_0.643412117709733","host":"s3://npm-registry-packages-npm-production"}},"4.0.10":{"name":"@fetchkit/ffetch","version":"4.0.10","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.10","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"b199112c795cc7c51cd36ef7138fca6a30040786","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.10.tgz","fileCount":19,"integrity":"sha512-aYZRgWtQNVhm8Q3QuLkYMK/n+xRVAnkkD6Q1FBELoBqk7tq72oo3dZ9IUvDPrpH0ghHPQaGyhw6R5nWKKIhEtQ==","signatures":[{"sig":"MEYCIQCUKlJyPVGSkIHSPmOKApGYYlmQYp6elIoQ2DrTu9NUBQIhANsg8/R7Gn3VKEjD3uoiKBMXBrO77iBHCIxQAnYHy8NH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140578},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"38690bc27cbc9dd97a8917e62e0b0086b42abb87","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.10_1759398191927_0.1600550109775527","host":"s3://npm-registry-packages-npm-production"}},"4.0.11":{"name":"@fetchkit/ffetch","version":"4.0.11","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.11","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"0bd73ada291130a2fad1b8bda42b55d03d925137","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.11.tgz","fileCount":19,"integrity":"sha512-0zgyLtS0Rq4Y1KRgyp5ekalmCf2FLBg4W1WNOmwnjMibqKX4n67HA+SDIIFsCV1xvLNbrYNClEbcJNxvLrKgrw==","signatures":[{"sig":"MEUCIQCeUm1fG1h49WFNa9OKWtShwaPzPlNMBZ6wpYrjSpgGLwIgeLNY3OWSg6QOBiNDuyPfUGcjLBYWdhGoJhgL+dzdlvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140578},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"59c1751f40e72109da0218a2f48576a19ddbf21f","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.11_1759398470611_0.23054827728109184","host":"s3://npm-registry-packages-npm-production"}},"4.0.12":{"name":"@fetchkit/ffetch","version":"4.0.12","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.0.12","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"f653dadfcf60b530b4ae5d08d290a7a76a465b6c","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.0.12.tgz","fileCount":19,"integrity":"sha512-yc8VVPKgJsPcFawzuCCQRfyiKfXgDgQ/RpczHm8ORs6VAxlJDHgJo10nhAb6fTQIhVlf77yTfS0Z93ZhyavP3Q==","signatures":[{"sig":"MEUCIQDP3IApyAqoDpi9x3r9kXjyWCo52VxSmRaWC6mtJ1luSwIgNb6t4Ld/Uiv/ijrYkJfBwELmft9CnO6iXXp+ZUeqn6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140836},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"497187f494e01b0c2f1156db8e4fa6f1796c5b13","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.0.12_1759418005192_0.381460226128574","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@fetchkit/ffetch","version":"4.1.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.1.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"da19efcf1e971bc9a521a7d9b2844b2fb78c08f3","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.1.0.tgz","fileCount":19,"integrity":"sha512-qtWiMSYSkcR3M7A2rXDOk9mfczJ3M0ZFU1PrMVLM6RFP7sSI9qnrX7c9jOxZ8TL+MOzOHQUrVuCnNgPytzXiCA==","signatures":[{"sig":"MEUCIQCWSuy1Mvc1dlWoy2U6sZY+FuUvsUemNp4TzKRhWaLntgIgbTgClh4lE9EOQuLVHEedaMmQnzQny2SW26aaDEp3eMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164517},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"50b7b11d689d366695be45f0b6d1439d1b59afed","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.1.0_1761355049593_0.16778873241856473","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@fetchkit/ffetch","version":"4.2.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.2.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"072a7cc017f69865673a538ab5055c18792db46e","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.2.0.tgz","fileCount":19,"integrity":"sha512-OUpnod9/vhM0S6jQFLfOp+xnTy0wGQSKADg1+ZZ9oiJqCqYxEbOQ+OOJ/y9x/CBUc/j0BBw/930vndmpthwWjA==","signatures":[{"sig":"MEUCIGBwTmDn0dGl5zr4SL51Aze+nVyo1PwmFvTjO1Xiwb30AiEA6yIrBIiykcO5zKo6l5AcEMJRQueRjDyS9PjdWT0ZkWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167213},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ad3bb34b346f317372ff60aecd20183d2376ef19","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.2.0_1763902661638_0.31236297890738673","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@fetchkit/ffetch","version":"4.3.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@4.3.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"223ba70c1352d6ac9de2d8619dff1b1b9a6d880e","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-4.3.0.tgz","fileCount":19,"integrity":"sha512-b49lxOxXLuwtIxs071pQ4OKLND6k+WEwbTQhK+vv9UKSXVWTBntkKGm1pdkD1KNhmD8dS/7AKihcgCYRBPPKTQ==","signatures":[{"sig":"MEUCIQCHtgROY8vV51M276hUDHdru/r3rjx9aAHT5HYdWsielwIgCbTp2HJZRWeCS4OjPK6Bv2sM/1IPuotLHv9iwpag7XE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171607},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fc025ebbd6a2e59c27a76d96d89f093d6e24384a","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_4.3.0_1773442135588_0.6172362835970511","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@fetchkit/ffetch","version":"5.0.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.0.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"6726d50da281836c91c5e8d33bb0fbfce63f5f4f","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.0.0.tgz","fileCount":33,"integrity":"sha512-5c7GVqDBBdQqV1asJU09q5H0Xc0TI7zk7yy0YlHaLh5JQ3nOcDs3g0hip6l4k+suVF4R+JqHdtbv64+KM9qskA==","signatures":[{"sig":"MEUCIQDBz8vByMik2zNNLxkFO8doa6lOth/rmlh1eIAJth6JfgIgYMl8UUHRrIg10Rrh1n2RjpCf0F7UkjUffNbwpbACvOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187709},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"}},"gitHead":"2c40873ef2fb0d311af964c55f74966dd9be52fc","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.0.0_1773460580450_0.05161069706417942","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@fetchkit/ffetch","version":"5.0.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.0.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"7c76669ea2613cba212965ca6a4ea2a18ffd4ad0","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.0.1.tgz","fileCount":33,"integrity":"sha512-yWODbaHzVKSOm3f3KVdgJs3sMlQHEuwVH6KER4v/DOsurb4aupVbddp/3ZcMf7VxB37BmxZn9lUS0DmTWbhl+Q==","signatures":[{"sig":"MEYCIQCxQlyXOJYCu4Bk1PLj3v9kmPrHq/w87fpg85j1mCXfwQIhAIS2yHf6PHxW6OiFnSKidPDkHud+bDLeLZPEr1ZdNR/f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189382},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"}},"gitHead":"08b4b45fb7d3e161382df54adb4781cd3acacea4","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.0.1_1774671581259_0.272349991695755","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@fetchkit/ffetch","version":"5.1.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.1.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"39cb1001009d9946f8c1c4cab19b890eb15eac7d","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.1.0.tgz","fileCount":47,"integrity":"sha512-WrEkuXH4AGxUafbfcsm+zKQd3d1UHQSdBos0sLW1Qxe/5fz7wAZdWiAL20TjAy/9jnjzAYmTQKqDO6HKkwSeaQ==","signatures":[{"sig":"MEUCIEWcCaJ7Lknz+2kCFi0wioWQC7piPQKTQxhIDVCEUZ6UAiEAgX6+S8f1Ht+ykXd36n9ICy5dJHPGdakAEv6nafBXlqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233073},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"4e81214615d1c1614bee7a14434dd610d07bcbbe","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.1.0_1775780569616_0.3268680860532194","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"@fetchkit/ffetch","version":"5.1.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.1.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"64c3471b27fc602fc7c82735cca13303700c8311","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.1.1.tgz","fileCount":47,"integrity":"sha512-nyJFt8BOAeVnHC3sLG/gBUjJp5QqWH+nk5gRPZCUbdHYY7TB3IYloDf7HK77jk6Xj7p8OVRXU7bk7LG5wpCSRw==","signatures":[{"sig":"MEQCIGku5Ewvfnz2m28meAu6fXr/UhI48AGm5x5ci8Cvvn3nAiArDTLLERTBglNMHp3rKsVQNS8Ky2/VtBMH5wn1fRRiSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232801},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"a6edce6e292458c3965fd02260f77d13b4b7ccb2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.1.1_1775829539050_0.04079782793725428","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@fetchkit/ffetch","version":"5.2.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.2.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"3d892d4ead8f503c414fb11085a86147f1cf558e","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.2.0.tgz","fileCount":53,"integrity":"sha512-JpQJkkjnsyZm+g4llM+8jTixJSMO2IYW8o+6XTfIdNUuLAKkl/ozvJThWdZGYqXR9drAbrYn0N+ZPUe4Q1VsBg==","signatures":[{"sig":"MEUCIQDQJtIVZqVjRH/yWf6cWTsSlsKarH9mqzfwbV25GJ1Z1QIgXKcMDT9IEsGeL+0NM2p5mTRGKT2BklBsRecYrPQFxZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241617},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"e4dbc3ae7ea4b5e6636e9fde041a6264d2f72405","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.2.0_1775835817897_0.07392088241634664","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"@fetchkit/ffetch","version":"5.2.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Your Name","email":"you@example.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.2.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"26a4acaf88637da27ab964e481b97f917db06e5e","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.2.1.tgz","fileCount":53,"integrity":"sha512-j0fXIG08PJTqh/zoYGHlldJiegbAtVHzgj7IZ4qpCdQcwAn4WGrgNlVWLzkY5hKbWPiF/OJKxR+dJ5l9EnadBw==","signatures":[{"sig":"MEYCIQDhEdsL757lAf5ua+XgRJ4mIhpbJRPlMoSm+w1mYFaqDAIhAIyXhda80n6ZR1LCpYnF+JHM48cin7leE99eGvv524dd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241934},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"26836e65e72b92d788900e13b5526c5efff8437f","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.2.1_1775836007448_0.2218876681057509","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"@fetchkit/ffetch","version":"5.3.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.3.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"1a7659f9819779ebfae2f352a85cc9cec87e8d85","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.3.0.tgz","fileCount":65,"integrity":"sha512-5HIG47EXeddjwvTfNTMAezXeQ1J60IdubMDoOjlctnIQXLi08CCLH6HdHn/CeNJcwZ+z3RmKtLZpKATvBief3Q==","signatures":[{"sig":"MEUCIQCvFPLm40/OiClwqTfgdRZQHhF2nOYgKYBxOLNfObLh+QIgPRD8N3K/f3dbdPJ1lqfFz12IhlpVFjfDKDuJ/Vawfyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288899},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"3d10b09fee86b0c6192adb52cfd7cf896a9ced47","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.3.0_1776111193557_0.28983054591962665","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"@fetchkit/ffetch","version":"5.4.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"bc01caea970c4f59abc893bfaf0786933e2f509b","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.0.tgz","fileCount":71,"integrity":"sha512-nP0t8L2YKBFMWobxhAbOzAiFkVi+0uzPYZx/SdpgpaXM/EWWxwiUHhdrvAp6XCIxu62BtJ7mhh8Z+iEVgDcC8g==","signatures":[{"sig":"MEQCIGzqUuzy9tQLaJOHTIB6MqqKORF6/SJq1Y/QQZ8tWnSyAiB3AcvCUMQ5xfUwEgRJddQfd3/NNLb/UQ1YQvYzuV2UuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299642},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"a456555440087ca36f8f8ffb7fb242cfdb9f6600","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.0_1776622948245_0.05750376065077911","host":"s3://npm-registry-packages-npm-production"}},"5.4.1":{"name":"@fetchkit/ffetch","version":"5.4.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"771d5bf827b8ca777680bcc654305aa422c2bfa8","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.1.tgz","fileCount":71,"integrity":"sha512-NsGRHadSWeAKM7Y0mVCzRiV64V8Ukocm/RZvbDXVBrdk0Rck3aTj+X6FTLSWRqcIBnbwqA7t6hUdExYcl3yYYw==","signatures":[{"sig":"MEUCIHsOgREFDVgrpiU8kSfx7yA7f0wlENEuVKkrmBWp8l/CAiEAkZmWNZtWQeCyJXEF08QNvuU05dRG6wVMJKjB/6IkcLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299642},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"b3249b654d638748516968dd24dbc6168ca2ff53","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.1_1778264525521_0.3311075515465789","host":"s3://npm-registry-packages-npm-production"}},"5.4.2":{"name":"@fetchkit/ffetch","version":"5.4.2","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.2","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"04655f9edbacbc1b64c59e080794bbc2ebaa49c3","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.2.tgz","fileCount":71,"integrity":"sha512-clCAcPohzrSWiYvxpJM2Xwq9qBvs/zYhoBxuXnvZs+zGg9ilA/SNgbiIICIQYX0Rz2pkx2PBVQjPb/PKuesIBg==","signatures":[{"sig":"MEQCIHWT2MlhENHxoWuzClwcZNcOt7LqgWn+x0BcrJ1AqQsWAiAHIfexEwpWf2rOtEdRIfsGMA1ecPCLtSsWmLw6P2QIWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299711},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"9c65b8066bb7c7f32208842b6114ee3f41f4fbd0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"gkoos","email":"gabor.koos@gmail.com"},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.3.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.2_1778780529501_0.5178282930122047","host":"s3://npm-registry-packages-npm-production"}},"5.4.7":{"name":"@fetchkit/ffetch","version":"5.4.7","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.7","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"ab0b5775035cf63fbd2997831b7034fb15e4a3b3","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.7.tgz","fileCount":71,"integrity":"sha512-y9/7BUhwRBw+ZTAB0GGDOoLMzMoRea7FG3S/6x6HZuhWirg7GrMoVd6apKdKeFbLomtVoJsroJhx0dAUO5Q0/w==","signatures":[{"sig":"MEUCIGXOx4cNSj66jHNrRDrwsBOFKkRhzFLAtyv9nESmH8nDAiEAqhmI8U69Bz1DV4IM7qrl+mhgf/8zpVIvb31et8oHoU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":299626},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"ce6bce5cef8396ae93904347606f9ccbc8196da8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.7_1780003601421_0.8786052466338283","host":"s3://npm-registry-packages-npm-production"}},"5.4.8":{"name":"@fetchkit/ffetch","version":"5.4.8","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.8","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"9cab0d365c9f78ae93105fd4e9282e20abd9af64","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.8.tgz","fileCount":71,"integrity":"sha512-pDj8lJ90lCquoUTDRVGsOF5rJQE89lHFzPZnJG/FTCpoMOs6p4iUt48PtOBJa4jtIaQwIGDlaP0y98aHTROzUQ==","signatures":[{"sig":"MEUCIQC1e6voG2B5V8koW1KonKd/VVE/NleeVaxoqig7ZYpKSwIgFuq7IuQ7alm2IypL4d3Ty3Zwvto3efhhboP86QhBOi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":299626},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"4e00bb6b357277afd7f1471770523b707925b4ab","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.8_1780005436234_0.5782613992834196","host":"s3://npm-registry-packages-npm-production"}},"5.4.9":{"name":"@fetchkit/ffetch","version":"5.4.9","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.9","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"fa588e1b1d31c355c140db66601c2b191d394a81","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.9.tgz","fileCount":71,"integrity":"sha512-uP9Fd3k45UJAmQMu22kfbrjLCFqu1ziaA29CPM7hv8YNpzpMukYz36IvZy6dl6msc6hVltEaJyJmkKGLk7mBSg==","signatures":[{"sig":"MEUCIA+ek6h33i5KzUafFFiWI0Wf5NXqDoBZZHhmyttlhEGkAiEAgDfhKvnQNmrx8FhEszNgs6yd089zYe4acWBsm9Lz5Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":299626},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"53f93698f0f4d033ec5d5e4678462c4b4e39b2e0","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.13.5","tsup":"^8.5.0","husky":"^8.0.0","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^5.9.2","@types/node":"^24.2.1","lint-staged":"^16.1.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.9_1780006205555_0.8796526755563066","host":"s3://npm-registry-packages-npm-production"}},"5.4.11":{"name":"@fetchkit/ffetch","version":"5.4.11","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.11","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"204c29cd1041345b630d881dfbdd007fbed00909","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.11.tgz","fileCount":71,"integrity":"sha512-s29hkUvPRS5s9O83a/nqj0iYzbKIOw7ld+Ta4mwrXkgJOgkshb9vbFqT1AYF2bSi2dzODHv93uHYawOIZCgnbw==","signatures":[{"sig":"MEQCIFm4Ckvajk0ImvpgfcGG1F0+T0LhJ5/L1ndypYfWWMKhAiAZBUiTrvX6jfOoB6A+lCA0nmatuaH5FSuqScuKTRakjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.4.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300650},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"40722acdcd4fd0dd0bfe902158a14dbd6df3f507","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.11_1780017704460_0.6755190528762769","host":"s3://npm-registry-packages-npm-production"}},"5.4.12":{"name":"@fetchkit/ffetch","version":"5.4.12","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.12","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"233e70cfca526846c8ea52e746ef2d8b59fc7c61","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.12.tgz","fileCount":71,"integrity":"sha512-WMTVc4RM24mwQN/3CU5ehHCrfr5dFs2XwcrwV75O+T2h3j66DDPIqfK21M8CPg+8VN9SWbQKN8JDFOnVpv7tRw==","signatures":[{"sig":"MEYCIQC/H5sKqDMamHZyPm/SmdkROqIM71PxiQoqLrslpjWmugIhANogbGSjYHjnk4uQUZExNWmA3TuWNMdF4NGYzPstXY/m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.4.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300750},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"7dc73bd5e192a1f549c3fd0cd1138d453d1a94c8","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.12_1780019238441_0.9851695953236261","host":"s3://npm-registry-packages-npm-production"}},"5.4.13":{"name":"@fetchkit/ffetch","version":"5.4.13","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.4.13","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"121f3e7bf1a83bec2369b4b4a22f07d0835e8690","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.4.13.tgz","fileCount":71,"integrity":"sha512-XoXN6vhXZPRWABYUMH3QFc6KISEYJkbJSYzgTc1KbRwqbFfF7u16jndaoenCZxIOC7I22U0JtLbbZ0CQVGryVA==","signatures":[{"sig":"MEYCIQCW7n5+8ruQEXvUCfGEMYPGdYf0GKoE3a9qdubSQBdf2QIhAMMt5gEtC9cHMtpusb85hdNDAZnmDi/3f4Pn3V+V7q5U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.4.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300750},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"12f9c1929594e5263a628d088dcc289f0e8ef63e","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.4.13_1780021348018_0.16483806166881143","host":"s3://npm-registry-packages-npm-production"}},"5.5.0":{"name":"@fetchkit/ffetch","version":"5.5.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.5.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"23e7849ee605d657b4d6c9ea7cd16e1c21ea3453","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.5.0.tgz","fileCount":71,"integrity":"sha512-qrdWEYThcJsZJn1T83U51r9naE8PUPwWjf1G2qlhrGsfRqtHT+lHDbw+NW79X0063NXoz+r3ql7OKwI+2r8Hdg==","signatures":[{"sig":"MEUCIAE3FpTXauoLzvpaQtQHsEOdpVX/e1Y/kzqTLzb0QpguAiEA0bQTXrBvOVLwBfpF9SrG2ac1tMQ2pck4KcmU1cY6smw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":298353},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"3676741ccb9f868a491420528d1c9fe6cb645817","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.5.0_1780064730129_0.8918276157442764","host":"s3://npm-registry-packages-npm-production"}},"5.5.1":{"name":"@fetchkit/ffetch","version":"5.5.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.5.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"0a4b763e964db82350df51dc74d1fc5e62bf887e","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.5.1.tgz","fileCount":71,"integrity":"sha512-p5YnHiZrA9tCrxqdIsTb61bgLNvpFTXQ8ULzD2R2V57mCjb7tboNXj/A5xyN72kvBd2gnF46fj0xV72r/cWoZA==","signatures":[{"sig":"MEQCIATfWn41HEc6QwywnISKg9ExKEjMR/Em5IVFkqW5hGU8AiBEARksn5CVh/agIxFpGs/RMEGs+J+t2pmEvEuZeni0+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":298353},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"e93a25440d7d10e0419014f4179654881fd1a3b2","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^9.33.0","vitest":"^3.2.4","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^9.33.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.5.1_1780068614895_0.47023510972194127","host":"s3://npm-registry-packages-npm-production"}},"5.5.3":{"name":"@fetchkit/ffetch","version":"5.5.3","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.5.3","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"a1f4819d8d9270e479cd671688b191732443710d","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.5.3.tgz","fileCount":71,"integrity":"sha512-jomhN+pr1rD0yXoCaJW+TBVDZKhfcw1gfizuvt9nXiQDx0N11Vx+P1VBmkKhzwsv018U0ngyGqs+9gkypiPKTA==","signatures":[{"sig":"MEUCIQCHnd++y6J+XIlu2SDpry70Krv0PO+eawD/c8TnBrwn/gIgTupEmpb50wDluFQKenF61zpOAubqw34WBLjOS0J8/sQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300687},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"9c5b7b906eb5b2b068d352c15ad993c8278359a7","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^4.1.8","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.5.3_1781230076776_0.6503008370723047","host":"s3://npm-registry-packages-npm-production"}},"5.5.4":{"name":"@fetchkit/ffetch","version":"5.5.4","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.5.4","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"62b13e9cde2a55bcfafb95bbb91a2ca24aff2ad7","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.5.4.tgz","fileCount":71,"integrity":"sha512-q9kgSgSwEbrTzA7viQJJ7W9NN9q2Cr5gfF1RZFJXbVAZyPkn35A4Nt0BsWw7NqJeXgStJb5xz2tthsqNI0BvJQ==","signatures":[{"sig":"MEYCIQCoNFcXx+PIpweZAONn7kdUQCjxiXDBlldfKdBdIBI4zAIhANjq/9fM/UyqaHpfxCx2G+hQpkFArUaK42wHA2vzs4uo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300889},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"a1d97e3525fcd9baf5550567aa83b227f2d1730c","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.13.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.6.2","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^4.1.8","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.5.4_1781600835745_0.8963762801214994","host":"s3://npm-registry-packages-npm-production"}},"5.6.0":{"name":"@fetchkit/ffetch","version":"5.6.0","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.6.0","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"ef1c5f1c40220764a6e116b8c16afd318ac3d6c3","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.6.0.tgz","fileCount":71,"integrity":"sha512-BoQ18bqgIKoZAQwT3d/NcY0o4D02LJBENhalp8u+gjb8UTWj8sTF4olY06qPLVS7ApMS8jGqt0e33kHDvUBG8w==","signatures":[{"sig":"MEUCIBk2cm7XQnJ80M9tBJ8wgyY1ipJrOFdSemhZxUfAVP+NAiEAoP+jKU7/d1PBeOnjSGaMBjGhzF8GYD0qRbQEhq9e2GI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":315629},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"gitHead":"725030525a0b75292ff5efff5a6f06e69c4cb86c","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.17.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.6.2","@eslint/js":"^10.0.1","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^2.29.5","@vitest/coverage-v8":"^4.1.8","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.6.0_1787185517093_0.49297879326627814","host":"s3://npm-registry-packages-npm-production"}},"5.6.1":{"name":"@fetchkit/ffetch","version":"5.6.1","keywords":["fetch","http","retry","timeout","typescript"],"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","_id":"@fetchkit/ffetch@5.6.1","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"dist":{"shasum":"4eece6a5f18ff2b05109d0635214a5a42de63d48","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.6.1.tgz","fileCount":71,"integrity":"sha512-6Szi2+M8vC7EzkSrbfknaNS80FQXE1u47lwu1zA3vNTHzWyZX6oQt5ksNxcP5EgAjLDoXwxTiWJCKT4iWctd6A==","signatures":[{"sig":"MEYCIQDEgk51gxTPyaWKK3rxRvqY3nXDf1s6KvzJUMc8bLUMqwIhAJrsMJOLQtE8gk1fGauQD5/RuuGY/gRq1HmHG3OAn54T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":315763},"main":"./dist/index.cjs","type":"module","_from":"file:fetchkit-ffetch-5.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest","build":"tsup","format":"prettier -w src","test:ci":"vitest --run --coverage","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"_resolved":"/home/runner/work/ffetch/ffetch/fetchkit-ffetch-5.6.1.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-6Szi2+M8vC7EzkSrbfknaNS80FQXE1u47lwu1zA3vNTHzWyZX6oQt5ksNxcP5EgAjLDoXwxTiWJCKT4iWctd6A==","repository":{"url":"git+https://github.com/fetch-kit/ffetch.git","type":"git"},"_npmVersion":"11.17.0","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","directories":{},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsr":"^0.14.3","tsup":"^8.5.0","husky":"^9.1.7","eslint":"^10.4.1","vitest":"^4.1.8","prettier":"^3.6.2","@eslint/js":"^10.0.1","fast-check":"^4.9.0","typescript":"^6.0.3","@types/node":"^25.9.1","lint-staged":"^17.0.5","@changesets/cli":"^3.0.0","@vitest/coverage-v8":"^4.1.8","@typescript-eslint/parser":"^8.39.0","@typescript-eslint/eslint-plugin":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/ffetch_5.6.1_1787190597989_0.8468034929406763","host":"s3://npm-registry-packages-npm-production"}},"5.6.2":{"name":"@fetchkit/ffetch","version":"5.6.2","description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","keywords":["fetch","http","retry","timeout","typescript"],"type":"module","repository":{"type":"git","url":"git+https://github.com/fetch-kit/ffetch.git"},"homepage":"https://github.com/fetch-kit/ffetch#readme","bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"engines":{"node":">=20.6.0"},"license":"MIT","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./plugins/dedupe":{"types":"./dist/plugins/dedupe.d.ts","import":"./dist/plugins/dedupe.js","require":"./dist/plugins/dedupe.cjs"},"./plugins/bulkhead":{"types":"./dist/plugins/bulkhead.d.ts","import":"./dist/plugins/bulkhead.js","require":"./dist/plugins/bulkhead.cjs"},"./plugins/hedge":{"types":"./dist/plugins/hedge.d.ts","import":"./dist/plugins/hedge.js","require":"./dist/plugins/hedge.cjs"},"./plugins/circuit":{"types":"./dist/plugins/circuit.d.ts","import":"./dist/plugins/circuit.js","require":"./dist/plugins/circuit.cjs"},"./plugins/response-shortcuts":{"types":"./dist/plugins/response-shortcuts.d.ts","import":"./dist/plugins/response-shortcuts.js","require":"./dist/plugins/response-shortcuts.cjs"},"./plugins/request-shortcuts":{"types":"./dist/plugins/request-shortcuts.d.ts","import":"./dist/plugins/request-shortcuts.js","require":"./dist/plugins/request-shortcuts.cjs"},"./plugins/download-progress":{"types":"./dist/plugins/download-progress.d.ts","import":"./dist/plugins/download-progress.js","require":"./dist/plugins/download-progress.cjs"},"./plugins/context-id":{"types":"./dist/plugins/context-id.d.ts","import":"./dist/plugins/context-id.js","require":"./dist/plugins/context-id.cjs"}},"lint-staged":{"*.{ts,js,json,md}":["prettier --write","eslint --fix"]},"scripts":{"dev":"tsup --watch","build":"tsup","test":"vitest","test:ci":"vitest --run --coverage","lint":"eslint src --ext .ts","format":"prettier -w src","version":"changeset version","prepublishOnly":"npm run build && npm run test:ci"},"devDependencies":{"@changesets/cli":"^3.0.0","@eslint/js":"^10.0.1","@types/node":"^25.9.1","@typescript-eslint/eslint-plugin":"^8.39.0","@typescript-eslint/parser":"^8.39.0","@vitest/coverage-v8":"^4.1.8","eslint":"^10.4.1","fast-check":"^4.9.0","husky":"^9.1.7","jsr":"^0.14.3","lint-staged":"^17.0.5","prettier":"^3.6.2","tsup":"^8.5.0","typescript":"^6.0.3","vitest":"^4.1.8"},"overrides":{"esbuild":"0.28.2"},"_id":"@fetchkit/ffetch@5.6.2","_integrity":"sha512-JSOBdI96W4mdwaIfUV5+R3I50aCf7NSM0S/hBS1Nby6Z8rpVSszrg2GccHId8Z1pnY1QKu9NqvhWJkqaylQ+2A==","_resolved":"/home/runner/work/ffetch/ffetch/fetchkit-ffetch-5.6.2.tgz","_from":"file:fetchkit-ffetch-5.6.2.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-JSOBdI96W4mdwaIfUV5+R3I50aCf7NSM0S/hBS1Nby6Z8rpVSszrg2GccHId8Z1pnY1QKu9NqvhWJkqaylQ+2A==","shasum":"51a7914d4bdfcfc4e8eb55e00b7a978698fc41cd","tarball":"https://registry.npmjs.org/@fetchkit/ffetch/-/ffetch-5.6.2.tgz","fileCount":71,"unpackedSize":315649,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fetchkit%2fffetch@5.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDLyutS30A5vu400ma5lOUOeOzL0/FImqIJhVTHm0+exAIhANMaeeFxTwmgnW8AGiLpliUUwVmrigkeBMOswOUve2Yp"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ac34b37e-b8ba-464d-9d89-dfb469096a41"}},"directories":{},"maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ffetch_5.6.2_1788641670783_0.30961865146617074"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-25T21:38:42.301Z","modified":"2026-09-05T20:54:31.207Z","3.4.1":"2025-09-25T21:38:42.568Z","3.4.2":"2025-09-30T13:42:04.524Z","4.0.0":"2025-10-01T19:23:19.834Z","4.0.1":"2025-10-01T19:26:55.882Z","4.0.2":"2025-10-01T21:22:45.045Z","4.0.3":"2025-10-02T08:57:00.866Z","4.0.4":"2025-10-02T09:03:14.151Z","4.0.5":"2025-10-02T09:12:27.049Z","4.0.6":"2025-10-02T09:19:54.501Z","4.0.7":"2025-10-02T09:26:51.336Z","4.0.8":"2025-10-02T09:34:54.079Z","4.0.9":"2025-10-02T09:38:40.281Z","4.0.10":"2025-10-02T09:43:12.115Z","4.0.11":"2025-10-02T09:47:50.830Z","4.0.12":"2025-10-02T15:13:25.398Z","4.1.0":"2025-10-25T01:17:29.794Z","4.2.0":"2025-11-23T12:57:41.855Z","4.3.0":"2026-03-13T22:48:55.745Z","5.0.0":"2026-03-14T03:56:20.614Z","5.0.1":"2026-03-28T04:19:41.424Z","5.1.0":"2026-04-10T00:22:49.778Z","5.1.1":"2026-04-10T13:58:59.208Z","5.2.0":"2026-04-10T15:43:38.057Z","5.2.1":"2026-04-10T15:46:47.669Z","5.3.0":"2026-04-13T20:13:13.723Z","5.4.0":"2026-04-19T18:22:28.374Z","5.4.1":"2026-05-08T18:22:05.669Z","5.4.2":"2026-05-14T17:42:09.687Z","5.4.7":"2026-05-28T21:26:41.587Z","5.4.8":"2026-05-28T21:57:16.385Z","5.4.9":"2026-05-28T22:10:05.691Z","5.4.11":"2026-05-29T01:21:44.616Z","5.4.12":"2026-05-29T01:47:18.592Z","5.4.13":"2026-05-29T02:22:28.202Z","5.5.0":"2026-05-29T14:25:30.297Z","5.5.1":"2026-05-29T15:30:15.051Z","5.5.3":"2026-06-12T02:07:56.998Z","5.5.4":"2026-06-16T09:07:15.927Z","5.6.0":"2026-08-20T00:25:17.247Z","5.6.1":"2026-08-20T01:49:58.151Z","5.6.2":"2026-09-05T20:54:30.916Z"},"bugs":{"url":"https://github.com/fetch-kit/ffetch/issues"},"author":{"name":"Gabor Koos","email":"gabor@gaborkoos.com"},"license":"MIT","homepage":"https://github.com/fetch-kit/ffetch#readme","keywords":["fetch","http","retry","timeout","typescript"],"repository":{"type":"git","url":"git+https://github.com/fetch-kit/ffetch.git"},"description":"Fetch wrapper with configurable timeouts, retries, and TypeScript-first DX","maintainers":[{"name":"gkoos","email":"gabor.koos@gmail.com"}],"readme":"![npm](https://img.shields.io/npm/v/@fetchkit/ffetch)\n![Downloads](https://img.shields.io/npm/dm/@fetchkit/ffetch)\n![GitHub stars](https://img.shields.io/github/stars/fetch-kit/ffetch?style=social)\n\n![Build](https://github.com/fetch-kit/ffetch/actions/workflows/ci.yml/badge.svg)\n![codecov](https://codecov.io/gh/fetch-kit/ffetch/branch/main/graph/badge.svg)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/fetch-kit/ffetch/badge)](https://scorecard.dev/viewer/?uri=github.com/fetch-kit/ffetch)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/14166/badge)](https://www.bestpractices.dev/projects/14166)\n\n![MIT](https://img.shields.io/npm/l/@fetchkit/ffetch)\n![bundlephobia](https://badgen.net/bundlephobia/minzip/@fetchkit/ffetch)\n![Types](https://img.shields.io/npm/types/@fetchkit/ffetch)\n\n# @fetchkit/ffetch\n\n> Part of the **[fetch-kit ecosystem](https://fetchkit.org)** - production-ready fetch utilities and chaos-testing tools.\n\n**A production-ready TypeScript-first drop-in replacement for native fetch, or any fetch-compatible implementation.**\n\nffetch can wrap any fetch-compatible implementation (native fetch, node-fetch, undici, or framework-provided fetch), making it flexible for SSR, edge, and custom environments.\n\nffetch uses a plugin architecture for optional features, so you only include what you need.\n\n## Why ffetch\n\n- Keep native fetch ergonomics, add production safety (timeouts, retries, error strategy).\n- Keep your runtime flexibility (use global fetch or any fetch-compatible handler).\n- Keep your bundle lean – **~3kb minified** (optional plugins, zero runtime dependencies).\n\n## Table of Contents\n\n- [@fetchkit/ffetch](#fetchkitffetch)\n  - [Why ffetch](#why-ffetch)\n  - [Table of Contents](#table-of-contents)\n  - [Key Features](#key-features)\n    - [Built-in Plugins at a Glance](#built-in-plugins-at-a-glance)\n  - [What Problems Does ffetch Solve?](#what-problems-does-ffetch-solve)\n  - [Quick Start](#quick-start)\n    - [Install](#install)\n    - [Basic Setup](#basic-setup)\n    - [Production Setup with Plugins](#production-setup-with-plugins)\n    - [Why not only native fetch?](#why-not-only-native-fetch)\n    - [Common Recipes](#common-recipes)\n    - [Using a Custom fetchHandler (SSR, metaframeworks, or polyfills)](#using-a-custom-fetchhandler-ssr-metaframeworks-or-polyfills)\n    - [Advanced Example](#advanced-example)\n    - [Custom Error Handling with `throwOnHttpError`](#custom-error-handling-with-throwonhttperror)\n  - [Documentation](#documentation)\n  - [Environment Requirements](#environment-requirements)\n    - [\"AbortSignal.any is not a function\"](#abortsignalany-is-not-a-function)\n  - [CDN Usage](#cdn-usage)\n  - [Deduplication Limitations](#deduplication-limitations)\n  - [Fetch vs. Axios vs. ky vs. `ffetch`](#fetch-vs-axios-vs-ky-vs-ffetch)\n  - [Try ffetch in Action](#try-ffetch-in-action)\n  - [Join the Community](#join-the-community)\n  - [Security](#security)\n  - [Contributing](#contributing)\n  - [License](#license)\n\n## Key Features\n\n- **Timeouts** – per-request or global\n- **Retries** – exponential backoff + jitter\n- **Abort-aware retries** – aborting during backoff cancels immediately\n- **Plugin architecture** – extensible lifecycle-based plugins for optional behavior\n- **Hooks** – logging, auth, metrics, request/response transformation\n- **Pending requests** – real-time monitoring of active requests\n- **Per-request overrides** – customize behavior on a per-request basis\n- **Universal** – Node.js, Browser, Cloudflare Workers, React Native\n- **Zero runtime deps** – ships as dual ESM/CJS\n- **Configurable error handling** – custom error types and `throwOnHttpError` flag to throw on HTTP errors\n- **Bulkhead plugin (optional, prebuilt)** – cap concurrency and queue depth per client instance\n- **Circuit breaker plugin (optional, prebuilt)** – automatic failure protection\n- **Hedge plugin (optional, prebuilt)** – race parallel attempts to reduce tail latency\n- **Context ID plugin (optional, prebuilt)** – inject a stable context ID header across retries/hedges for correlation\n- **Deduplication plugin (optional, prebuilt)** – automatic deduping of in-flight identical requests\n- **Request shortcuts plugin (optional, prebuilt)** – call `client.get(url)` / `.post()` / `.put()` / `.patch()` / `.delete()` directly on the client\n- **Response shortcuts plugin (optional, prebuilt)** – call `client(url).json()` / `.text()` / `.blob()` directly on the request promise\n- **Download progress plugin (optional, prebuilt)** – stream download progress callbacks with bytes transferred and percentage\n\n**Built-in error classes:** `TimeoutError`, `RetryLimitError`, `CircuitOpenError`, `BulkheadFullError`, `HttpError`, `NetworkError`, `AbortError`\n\n### Built-in Plugins at a Glance\n\nAll plugins are tree-shakeable — import only what you use.\n\n- **dedupePlugin (optional)**: dedupe in-flight identical requests.\n- **bulkheadPlugin (optional)**: cap in-flight concurrency with optional queue backpressure.\n- **hedgePlugin (optional)**: race multiple attempts and cancel losers when a winner is found.\n- **circuitPlugin (optional)**: fail fast after repeated failures.\n- **contextIdPlugin (optional)**: inject a stable request context ID (for example in `x-context-id`) across retries and hedges.\n- **requestShortcutsPlugin (optional)**: HTTP method shortcuts on the client (`.get()` / `.post()` / `.put()` / `.patch()` / `.delete()` / `.head()` / `.options()`).\n- **responseShortcutsPlugin (optional)**: use `client(url).json()` / `.text()` / `.blob()` style parsing.\n- **downloadProgressPlugin (optional)**: stream download progress via `onProgress(progress, chunk)` callback.\n\n## What Problems Does ffetch Solve?\n\nffetch is ideal for:\n\n- **Microservices and REST APIs** with retry requirements and timeout control\n- **High-traffic client applications** that need in-flight deduplication and circuit breaker protection\n- **SSR and metaframework apps** that require runtime flexibility (custom fetch handlers for different environments)\n- **Type-safe request handling** with strong TypeScript support and zero runtime dependencies\n\n## Quick Start\n\nMigrating from v4? Start with the [migration guide](./docs/migration.md) before applying the examples below.\n\n### Install\n\n```bash\n# npm\nnpm install @fetchkit/ffetch\n\n# yarn\nyarn add @fetchkit/ffetch\n\n# pnpm\npnpm add @fetchkit/ffetch\n\n# bun\nbun add @fetchkit/ffetch\n```\n\n### Basic Setup\n\n```typescript\nimport { createClient } from '@fetchkit/ffetch'\n\ntype User = { id: number; name: string }\n\nconst api = createClient({ timeout: 5000, retries: 2 })\nconst response = await api('https://api.example.com/users')\n\nif (!response.ok) {\n  throw new Error(`Request failed: ${response.status}`)\n}\n\nconst users = (await response.json()) as User[]\n```\n\n### Production Setup with Plugins\n\n```typescript\nimport { createClient } from '@fetchkit/ffetch'\nimport { dedupePlugin } from '@fetchkit/ffetch/plugins/dedupe'\nimport { circuitPlugin } from '@fetchkit/ffetch/plugins/circuit'\nimport { contextIdPlugin } from '@fetchkit/ffetch/plugins/context-id'\nimport { requestShortcutsPlugin } from '@fetchkit/ffetch/plugins/request-shortcuts'\nimport { responseShortcutsPlugin } from '@fetchkit/ffetch/plugins/response-shortcuts'\n\nconst api = createClient({\n  timeout: 10_000,\n  retries: 2,\n  plugins: [\n    // 1) Optional: dedupe identical in-flight requests\n    dedupePlugin({ ttl: 30_000, sweepInterval: 5_000 }),\n    // 2) Optional: open the circuit after repeated failures\n    circuitPlugin({ threshold: 5, reset: 30_000 }),\n    // 3) Optional: inject stable correlation context IDs\n    contextIdPlugin(),\n    // 4) Optional: enable request-promise parsing shortcuts\n    responseShortcutsPlugin(),\n    // 5) Optional: enable client HTTP method shortcuts\n    requestShortcutsPlugin(),\n  ],\n})\n\nconst users = await api\n  .get('https://api.example.com/users')\n  .json<Array<{ id: number; name: string }>>()\n\nconst p1 = api('https://api.example.com/data')\nconst p2 = api('https://api.example.com/data')\nconst [res1, res2] = await Promise.all([p1, p2])\n```\n\nWhat this setup gives you:\n\n- **Operational safety**: retries with timeout defaults.\n- **Lower duplicate traffic (optional)**: concurrent identical requests share one in-flight call.\n- **Faster failure recovery (optional)**: circuit breaker blocks repeated failing calls.\n- **Better observability correlation (optional)**: stable request context IDs across retries and hedges.\n- **Cleaner request ergonomics (optional)**: `client.get(url)` / `.post(url, init)` style shortcuts.\n- **Cleaner parsing (optional)**: `client(url).json()` style shortcuts.\n\n### Why not only native fetch?\n\n- Native fetch is a great baseline, but production apps usually need retries and timeout control.\n- ffetch keeps the fetch model and adds optional resilience features.\n- You can keep strict native behavior and only opt into plugins you need.\n\n### Common Recipes\n\n```typescript\n// Throw on non-2xx/429 once retries are exhausted\nconst strict = createClient({ throwOnHttpError: true })\n\n// Use a custom fetch implementation (SSR/framework/runtime)\nimport nodeFetch from 'node-fetch'\nconst apiWithCustomHandler = createClient({ fetchHandler: nodeFetch })\n\n// Keep native Response flow (works with or without plugins)\nconst plainApi = createClient({ timeout: 5000 })\nconst response = await plainApi('https://api.example.com/health')\nconst text = await response.text()\n```\n\n### Using a Custom fetchHandler (SSR, metaframeworks, or polyfills)\n\n```typescript\n// Why this exists:\n// ffetch wraps whatever fetch-compatible function you provide.\n// This is useful when your runtime has a scoped/framework fetch,\n// or when Node needs an explicit fetch implementation.\n\nimport { createClient } from '@fetchkit/ffetch'\nimport nodeFetch from 'node-fetch'\n\n// Node.js example: provide node-fetch explicitly\nconst apiNode = createClient({\n  fetchHandler: nodeFetch,\n  timeout: 5000,\n})\nconst nodeResponse = await apiNode('https://api.example.com/data')\n\n// Framework example: pass the framework-scoped fetch\n// (e.g. the fetch passed into a request handler)\nasync function loadData(frameworkFetch: typeof fetch) {\n  const api = createClient({\n    fetchHandler: frameworkFetch,\n    timeout: 5000,\n  })\n\n  const response = await api('/internal/data')\n  return response.json()\n}\n```\n\nAll ffetch features (timeouts, retries, plugins, hooks) behave the same with a custom `fetchHandler`.\n\nWith `responseShortcutsPlugin()` enabled, request-promise shortcuts like `api(url).json()` also work the same.\n\n### Advanced Example\n\n```typescript\n// Production-ready client with error handling and monitoring\nimport { createClient } from '@fetchkit/ffetch'\nimport { dedupePlugin } from '@fetchkit/ffetch/plugins/dedupe'\nimport { circuitPlugin } from '@fetchkit/ffetch/plugins/circuit'\n\nconst client = createClient({\n  timeout: 10000,\n  retries: 2,\n  fetchHandler: fetch, // Use custom fetch if needed\n  plugins: [\n    dedupePlugin({\n      hashFn: (params) => `${params.method}|${params.url}|${params.body}`,\n      ttl: 30_000,\n      sweepInterval: 5_000,\n    }),\n    circuitPlugin({\n      threshold: 5,\n      reset: 30_000,\n      onCircuitOpen: ({ request, reason }) =>\n        console.warn('Circuit opened due to:', request.url, reason.type),\n      onCircuitClose: ({ request, response }) =>\n        console.info('Circuit closed after:', request.url, response.status),\n    }),\n  ],\n  hooks: {\n    before: async (req) => console.log('→', req.url),\n    after: async (req, res) => console.log('←', res.status),\n    onError: async (req, err) => console.error('Error:', err.message),\n  },\n})\n\ntry {\n  const response = await client('/api/data')\n\n  // Check HTTP status manually (like native fetch)\n  if (!response.ok) {\n    console.log('HTTP error:', response.status)\n    return\n  }\n\n  const data = await response.json()\n  console.log('Active requests:', client.pendingRequests.length)\n} catch (err) {\n  if (err instanceof TimeoutError) {\n    console.log('Request timed out')\n  } else if (err instanceof RetryLimitError) {\n    console.log('Request failed after retries')\n  }\n}\n```\n\n### Custom Error Handling with `throwOnHttpError`\n\nNative `fetch`'s controversial behavior of not throwing errors for HTTP error status codes (4xx, 5xx) can lead to overlooked errors in applications. By default, `ffetch` follows this same pattern, returning a `Response` object regardless of the HTTP status code. However, with the `throwOnHttpError` flag, developers can configure `ffetch` to throw an `HttpError` for HTTP error responses, making error handling more explicit and robust. Note that this behavior is affected by retries and the circuit breaker - full details are explained in the [Error Handling documentation](./docs/errorhandling.md).\n\n## Documentation\n\n| Topic                                                        | Description                                                               |\n| ------------------------------------------------------------ | ------------------------------------------------------------------------- |\n| **[Complete Documentation](./docs/index.md)**                | **Start here** - Documentation index and overview                         |\n| **[API Reference](./docs/api.md)**                           | Complete API documentation and configuration options                      |\n| **[Plugin Architecture](./docs/plugins.md)**                 | Plugin lifecycle, custom plugin authoring, and integration patterns       |\n| **[Deduplication](./docs/deduplication.md)**                 | How deduplication works, hash config, optional TTL cleanup, limitations   |\n| **[Error Handling](./docs/errorhandling.md)**                | Strategies for managing errors, including `throwOnHttpError`              |\n| **[Advanced Features](./docs/advanced.md)**                  | Per-request overrides, pending requests, circuit breakers, custom errors  |\n| **[Production Operations](./docs/production-operations.md)** | Pre-deploy checklist, alerting baseline, and incident playbook            |\n| **[Hooks & Transformation](./docs/hooks.md)**                | Lifecycle hooks, authentication, logging, request/response transformation |\n| **[Usage Examples](./docs/examples.md)**                     | Real-world patterns: REST clients, GraphQL, file uploads, microservices   |\n| **[Compatibility](./docs/compatibility.md)**                 | Browser/Node.js support, polyfills, framework integration                 |\n\n## Environment Requirements\n\n`ffetch` works best with native `AbortSignal.any` support:\n\n- **Node.js 20.6+** (native `AbortSignal.any`)\n- **Modern browsers with `AbortSignal.any`** (for example: Chrome 117+, Firefox 117+, Safari 17+, Edge 117+)\n\nIf your environment does not support `AbortSignal.any` (Node.js < 20.6, older browsers), you can still use ffetch by installing an `AbortSignal.any` polyfill. `AbortSignal.timeout` is optional because ffetch includes an internal timeout fallback. See the [compatibility guide](./docs/compatibility.md) for instructions.\n\n**Custom fetch support:**\nYou can pass any fetch-compatible implementation (native fetch, node-fetch, undici, SvelteKit, Next.js, Nuxt, or a polyfill) via the `fetchHandler` option. This makes ffetch fully compatible with SSR, edge, metaframework environments, custom backends, and test runners.\n\n#### \"AbortSignal.any is not a function\"\n\nSolution: Install a polyfill for `AbortSignal.any`\n\n```bash\nnpm install abort-controller-x\n```\n\n## CDN Usage\n\n```html\n<script type=\"module\">\n  import { createClient } from 'https://unpkg.com/@fetchkit/ffetch/dist/index.min.js'\n\n  const api = createClient({ timeout: 5000 })\n  const data = await api('/api/data').then((r) => r.json())\n</script>\n```\n\n## Deduplication Limitations\n\n- Deduplication is **off** by default. Enable it via `plugins: [dedupePlugin()]`.\n- The default hash function is `dedupeRequestHash`, which handles common body types and skips deduplication for streams and FormData.\n- Optional stale-entry cleanup: `dedupePlugin({ ttl, sweepInterval })` enables map-entry eviction. TTL eviction only removes dedupe keys; it does not reject already in-flight promises.\n- **Stream bodies** (`ReadableStream`, `FormData`): Deduplication is skipped for requests with these body types, as they cannot be reliably hashed or replayed.\n- **Non-idempotent requests**: Use deduplication with caution for non-idempotent methods (e.g., POST), as it may suppress multiple intended requests.\n- **Custom hash function**: Ensure your hash function uniquely identifies requests to avoid accidental deduplication.\n\nSee [deduplication.md](./docs/deduplication.md) for full details.\n\n## Fetch vs. Axios vs. ky vs. `ffetch`\n\n| Feature              | Native Fetch                                            | Axios                          | ky                                            | ffetch                                                                                 |\n| -------------------- | ------------------------------------------------------- | ------------------------------ | --------------------------------------------- | -------------------------------------------------------------------------------------- |\n| Timeouts             | ❌ Manual AbortController                               | ✅ Built-in                    | ✅ Built-in                                   | ✅ Built-in with fallbacks                                                             |\n| Retries              | ❌ Manual implementation                                | ❌ Manual or plugins           | ✅ Built-in                                   | ✅ Smart exponential backoff                                                           |\n| Response Parsing DX  | ⚠️ Response methods only (`await fetch(...).then(...)`) | ✅ `response.data` convenience | ✅ `.json()/.text()/.blob()` on request chain | ✅ Optional `responseShortcutsPlugin()` (`.json()/.text()/.blob()` on request chain)   |\n| Plugin Architecture  | ❌ Not available                                        | ⚠️ Interceptors only           | ⚠️ Hook-based extensions                      | ✅ First-class plugin pipeline (optional built-in + custom plugins)                    |\n| Circuit Breaker      | ❌ Not available                                        | ❌ Manual or plugins           | ❌ Manual                                     | ✅ Automatic failure protection                                                        |\n| Deduplication        | ❌ Not available                                        | ❌ Not available               | ❌ Not available                              | ✅ Optional via `dedupePlugin()`                                                       |\n| Bulkheading          | ❌ Not available                                        | ❌ Not available               | ❌ Not available                              | ✅ Optional via `bulkheadPlugin()`                                                     |\n| Request Hedging      | ❌ Not available                                        | ❌ Not available               | ❌ Not available                              | ✅ Optional via `hedgePlugin()` (tail latency reduction)                               |\n| Request Monitoring   | ❌ Manual tracking                                      | ❌ Manual tracking             | ❌ Manual tracking                            | ✅ Built-in pending requests                                                           |\n| Error Types          | ❌ Generic errors                                       | ⚠️ HTTP errors only            | ✅ Specific error classes                     | ✅ Specific error classes                                                              |\n| TypeScript           | ⚠️ Basic types                                          | ⚠️ Basic types                 | ✅ Strong types                               | ✅ Full type safety                                                                    |\n| Hooks/Middleware     | ❌ Not available                                        | ✅ Interceptors                | ✅ Hooks                                      | ✅ Comprehensive lifecycle hooks                                                       |\n| Bundle Size          | ✅ Native (0kb)                                         | ❌ ~13kb minified              | ✅ Lightweight (fetch-based)                  | ✅ ~3kb minified                                                                       |\n| Modern APIs          | ✅ Web standards                                        | ❌ XMLHttpRequest              | ✅ Fetch + modern APIs                        | ✅ Fetch + modern features                                                             |\n| Download Progress    | ❌ Manual ReadableStream                                | ❌ Manual                      | ✅ `onDownloadProgress` callback              | ✅ Optional via `downloadProgressPlugin()`                                             |\n| Custom Fetch Support | ❌ No (global only)                                     | ❌ No                          | ❌ No                                         | ✅ Yes (wrap any fetch-compatible implementation, including framework or custom fetch) |\n\nNote: built-in plugins in ffetch are opt-in. Use `bulkheadPlugin()` for concurrency isolation and backpressure, `dedupePlugin()` for deduplication, `circuitPlugin()` for circuit breaking, `hedgePlugin()` for tail-latency racing, `requestShortcutsPlugin()` for client HTTP method shortcuts, `responseShortcutsPlugin()` for request-promise parsing shortcuts, and `downloadProgressPlugin()` for streaming download progress. Bundle size: ~3kb core, additional optional plugin imports are tree-shakeable.\n\n## Try ffetch in Action\n\nWant to see these clients in practice? Check out [ffetch-demo](https://github.com/fetch-kit/ffetch-demo) for working examples and side-by-side comparisons of how ffetch simplifies common fetch patterns.\n\n📰 Featured in [Node Weekly #594](https://nodeweekly.com/issues/594)\n\n## Join the Community\n\nGot questions, want to discuss features, or share examples? Join the **Fetch-Kit Discord server**:\n\n[![Discord](https://img.shields.io/badge/Discord-Join_Fetch--Kit-7289DA?logo=discord&logoColor=white)](https://discord.gg/sdyPBPCDUg)\n\n## Security\n\n`ffetch` is continuously evaluated by the [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/fetch-kit/ffetch), an automated security health check for open source projects. The badge at the top of this README shows the latest score. Security measures include:\n\n- ✅ Pinned GitHub Actions dependencies\n- ✅ CodeQL static analysis on every PR and push to main\n- ✅ Dependabot for dependency updates and security alerts\n- ✅ npm publish with OIDC provenance attestations\n- ✅ Security policy and private vulnerability reporting\n- ✅ Branch protection on `main`\n- ✅ SPDX SBOM attached to every release\n\nSome checks, such as mandatory reviews and multiple organizational contributors, are intentionally not pursued for this solo-maintained project. [View the full breakdown](https://scorecard.dev/viewer/?uri=github.com/fetch-kit/ffetch).\n\nTo report a security vulnerability, see [SECURITY.md](./SECURITY.md).\n\n## Contributing\n\n- **Issues**: [GitHub Issues](https://github.com/fetch-kit/ffetch/issues)\n- **Contribution guide**: See [CONTRIBUTING.md](./CONTRIBUTING.md) for development setup and pull request requirements.\n- **Code of Conduct**: See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).\n- **Documentation**: Found in `./docs/` - PRs welcome!\n\n## License\n\nMIT © 2025- gkoos\n","readmeFilename":"README.md"}