{"_id":"ai-retry","_rev":"70-97819820006bfa08c76c27c4272d676f","name":"ai-retry","dist-tags":{"beta":"2.0.0-beta.5","latest":"2.7.0"},"versions":{"0.0.1-alpha.2":{"name":"ai-retry","version":"0.0.1-alpha.2","keywords":[],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.0.1-alpha.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"589a55acb7640e389aa663dd0908d18c1a53aaf8","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.0.1-alpha.2.tgz","fileCount":8,"integrity":"sha512-ahtEalv01wj0naEUCPS6TmiBrROmHLaloCqgfWfQLY+IRXd27zkR+FYueAOZ8gl3v3k53i0j0acyFgFUTmx7tg==","signatures":[{"sig":"MEQCIBLirsxZUGs7niQcp6EiJguoDgaD0ezhJqtQru3/ZYHxAiA5YaFZ04SCawseg0asGA6bE5wJCA8bMSHRvhpt/WrPzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17920},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.0.1-alpha.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/32488eee9c86d8abde81f8e8defc63b9/ai-retry-0.0.1-alpha.2.tgz","_integrity":"sha512-ahtEalv01wj0naEUCPS6TmiBrROmHLaloCqgfWfQLY+IRXd27zkR+FYueAOZ8gl3v3k53i0j0acyFgFUTmx7tg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.9.3","description":"AI SDK Retry","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.0.1-alpha.2_1758346069495_0.4073055755898236","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-alpha.3":{"name":"ai-retry","version":"0.0.1-alpha.3","keywords":[],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.0.1-alpha.3","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"65334d5cff53e17d7312de7ab2939401b8d7a695","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.0.1-alpha.3.tgz","fileCount":8,"integrity":"sha512-NREE2d5/XfSIxRGScaFrCA7Crji0sdtXo0VTxzX7EUddkIcTOOZ8diHDZPkvzEZ2J4trjHT/WzPaAUVoD9givw==","signatures":[{"sig":"MEUCIQDoEY0OMeghGWo/wF6ggn+5mdwsZZGeF/ZJgtcnGP/8kwIgJkDmWY3Gh8IIyXFuV7TnwUdM2kKKXn4D7XteFOvtq+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19838},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.0.1-alpha.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/a80e604fd65d68181cea188b366a6d62/ai-retry-0.0.1-alpha.3.tgz","_integrity":"sha512-NREE2d5/XfSIxRGScaFrCA7Crji0sdtXo0VTxzX7EUddkIcTOOZ8diHDZPkvzEZ2J4trjHT/WzPaAUVoD9givw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.9.3","description":"AI SDK Retry","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.0.1-alpha.3_1758527707184_0.4851029050672018","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"ai-retry","version":"0.0.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.0.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"553602fdb47540d150fb6302d2f6ab493e0bbb4a","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.0.1.tgz","fileCount":9,"integrity":"sha512-+QJAqcDYZlTdznaAyPo5eyumQsKU+C4BNd7RbRerg7zYAQVyf16IdGVzP+sAyUZvUUuX1E/WX/XQxBvpAbV8kg==","signatures":[{"sig":"MEQCIDNmJMCsH8N3rpzhDh9ITMXhreaK8RiMsc5M7ycyCYqqAiBfDGZ/dB3a9i5CrhSLXeWKFk52TD8zVywirTfyUGoVnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23868},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/f6b701e5817e20c48bc817e58811804d/ai-retry-0.0.1.tgz","_integrity":"sha512-+QJAqcDYZlTdznaAyPo5eyumQsKU+C4BNd7RbRerg7zYAQVyf16IdGVzP+sAyUZvUUuX1E/WX/XQxBvpAbV8kg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.9.3","description":"AI SDK Retry","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.0.1_1758711687875_0.6238556509625501","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"ai-retry","version":"0.0.2","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.0.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"02ceec1f7ea5b963a6ba693943d1c7f30580517d","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.0.2.tgz","fileCount":9,"integrity":"sha512-KwGju42+WgJxW3BmW9pwY/1r3PQbXWxRlZa14I+734DEKKlwB/j7ZUEXufaAozog5oNPQOSsTMUdjFjr/5KXSQ==","signatures":[{"sig":"MEQCIEpdfUsq114dWbOoJ4fg+uT4mbSHW0j/Fp1JWvxxyVC1AiBukyX2qytQDT+l4H6Q13ZrSf/3nOZKAmZOppTApb7lPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27407},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/4b86d314a686482852b4b7c3e30b2835/ai-retry-0.0.2.tgz","_integrity":"sha512-KwGju42+WgJxW3BmW9pwY/1r3PQbXWxRlZa14I+734DEKKlwB/j7ZUEXufaAozog5oNPQOSsTMUdjFjr/5KXSQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.9.3","description":"AI SDK Retry","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.0.2_1758732878101_0.7010928415643423","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"ai-retry","version":"0.0.3","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.0.3","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"54f490b1d1de693ee0a5e4c97bfa9b29c0cf5613","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.0.3.tgz","fileCount":9,"integrity":"sha512-tNumSpM2/j8GI9yJwYaX7KyOMF2ve0H/Eujq/NdTMaGTGXsnPKdPU6TND/hzs/EQbWT4m+xeoilZug2AhfdWOQ==","signatures":[{"sig":"MEYCIQCtJcHzDCN4htk/lzHHvdhFgUXqlOnYYBko6u0MTtqZnAIhAK5Rh16naYVp+itYa6PQBLqxB6miPHqJA2/I9eY1z8Vi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27477},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"gitHead":"5787e993db22940c6e942a0aaf51e6c3c323bd55","scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","prepare":"husky","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha","prepublishOnly":"pnpm build"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.8.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.0.0","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.0.3_1759136152321_0.11889079461414886","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"ai-retry","version":"0.1.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.1.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"230f26e86e9e9422d04b45e3bc1c31d71a58b5da","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.1.0.tgz","fileCount":9,"integrity":"sha512-n0zTUw/SRugdP7gk4270ledg06M3JwmnpqjOfE05P40++SKh/9WPVINkyO2qCsjiKVOcQmFtBJlw+/TaHcJaCQ==","signatures":[{"sig":"MEUCICA9IK0dMh8FUqrgldf/YGFCEb+6cyDC4F4cx60ov5H0AiEAjOcov4Z2EpLZsvo4mI314BaWQ1k8dZjr/xPTmGywJHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31699},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"gitHead":"36492ff8ccd3d85aadf1d8a5d69a2924b97fbfd9","scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","prepare":"husky","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha","prepublishOnly":"pnpm build"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.8.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.0.0","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.1.0_1759406486384_0.6115963380991816","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"ai-retry","version":"0.1.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.1.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"f51041c5e54b7436ccdfc5ee6248dce039dea64b","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.1.1.tgz","fileCount":9,"integrity":"sha512-ikGj6uvWkj/uTectAMEavXOW/lK0Ay1Eujb07NIIE6Y/T+QWyVq6gsF9z2C8TEK3sjWRFhcz0BVItErMxlugWw==","signatures":[{"sig":"MEQCIC7gkqmM+A/RMmo84VK7kfnMzkx8TCr+LAJ/kuRHFHLWAiAY2FbHjLSXhhRNO5dOjyg6vqVKEYTXbkD8ohubdwFJRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31683},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"gitHead":"3c12df862ea2a1fbb41d38d075034d7103660549","scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","prepare":"husky","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha","prepublishOnly":"pnpm build"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.8.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.0.0","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.1.1_1759484665850_0.316055306254331","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"ai-retry","version":"0.2.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.2.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"e007a5b387bfb6ad386a1f453597e0ef5e2bc00c","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.2.0.tgz","fileCount":9,"integrity":"sha512-lihxZPYcB6AH2Wjd4b6Hg8kdOjpgiPjw9bGhzU6fYAkNL4GVWIqTqfBzGiEEFSpbm1gxwvyRh3I+MXWJPWdpaA==","signatures":[{"sig":"MEYCIQCqid2Y5jtmbAfQAS4MgR41p+5/sU5d/H0ZF7iSB1OBPwIhAO3RxxfIfgZ4ZYHY2wOHOjkX6hUTjFVIrlP+VGaEkBvf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33499},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"gitHead":"fdf1b7e13db80523b9346f1533e6e3e01fe6d27e","scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","prepare":"husky","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha","prepublishOnly":"pnpm build"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.8.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.0.0","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.2.0_1759729895835_0.936886687302448","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"ai-retry","version":"0.3.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.3.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"b9e7935a65611d5a1aef2497e738f6c3d728a2eb","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.3.0.tgz","fileCount":9,"integrity":"sha512-13xNw1pBj/N9u3u3RpbxzicuaHNy6jv+cQNAELiwblyWBCjadKc0nFnI03lifhSfgv/WQ9SN/YjB2wv8LbAnNg==","signatures":[{"sig":"MEUCIQCR0adf5A9WtKbq7RzBpGpCIXWvgpgqKgoxtk2y3UonNwIgZs2uHDJbBSmgvUGHi33oM6cmJlAdGOn9A+qJgZ6Ncwo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36154},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"gitHead":"daf7f3050b5813aa1e6e162e8e7a3818ce9814fb","scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","prepare":"husky","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha","prepublishOnly":"pnpm build"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"10.8.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.0.0","devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.3.0_1760512738979_0.7666737984129492","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"ai-retry","version":"0.4.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.4.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"9da9f395abf6b8dee53e3a84240fcd2d30cb5ad7","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.4.0.tgz","fileCount":9,"integrity":"sha512-1cLL13BbLQPZ4RcVQ+2i8/VHfSyAqH5DgGFPwI9VpHtO6DzQGXmWBkeTwqB/KSGle/K9YQtFxDFme42Yt0k5yA==","signatures":[{"sig":"MEUCIQDlvw9FvBtKM5LzbG019o7Dj0ygE5RjDJSwnSPXBwD4dgIgbEssK0nf5WM6WDKY6N+iVpc7qcK4KgZAZvBpEJkcJig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41727},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/956383cd7279dd56801d4480b53801c2/ai-retry-0.4.0.tgz","_integrity":"sha512-1cLL13BbLQPZ4RcVQ+2i8/VHfSyAqH5DgGFPwI9VpHtO6DzQGXmWBkeTwqB/KSGle/K9YQtFxDFme42Yt0k5yA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.4.0_1760608313672_0.05757600884199898","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"ai-retry","version":"0.4.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.4.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"43b36adf32cb07349080355d0ae9387d71790d0b","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.4.1.tgz","fileCount":9,"integrity":"sha512-WIx3ABFT5II3yE5Xsn10zcgDt10n0Fbb/0JB1HksF3PdB7rVzSlJPoQLzOf/ZmyEbsjpf62JvEi9CUlWvdJclA==","signatures":[{"sig":"MEQCIBkrdmNx4IWT3OZg8F6VPmK47qVBYvptr1MMFOzcgylzAiAxp4MCrb8eNarb2+j9+DR6aQx45cBUxPv3QDWIz4zmyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44199},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.4.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/cbe0bf70de0ae57cbbec069695d2fbd5/ai-retry-0.4.1.tgz","_integrity":"sha512-WIx3ABFT5II3yE5Xsn10zcgDt10n0Fbb/0JB1HksF3PdB7rVzSlJPoQLzOf/ZmyEbsjpf62JvEi9CUlWvdJclA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.2","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.4.1_1760799943857_0.384227487347764","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"ai-retry","version":"0.5.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.5.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"89ff4f1496bbba4682b2cbd2454a788ca7202cf0","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.5.0.tgz","fileCount":9,"integrity":"sha512-v3V78iozj6Fb8lV7Yj4HJ+MhGIyYo9b6J6D0rULGNiqqGmSby6762cvHTIIiaUMUT5Qeri4jqQXUS/uah+oGDg==","signatures":[{"sig":"MEUCIQDqyX4Wg7MGBpIaG/gy+Q9/AM5zfIi0mhNHu2Tkhl7kiwIgN19b6yzOMl1g0WmxESneMXifPuBaM5k745w0aTsjJcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46549},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/49e7911275b41a777e02648cf9ec99e3/ai-retry-0.5.0.tgz","_integrity":"sha512-v3V78iozj6Fb8lV7Yj4HJ+MhGIyYo9b6J6D0rULGNiqqGmSby6762cvHTIIiaUMUT5Qeri4jqQXUS/uah+oGDg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.5.0_1761020201084_0.05810582956557653","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"ai-retry","version":"0.5.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.5.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"a457acc6ae271df013a6322f1953735679214903","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.5.1.tgz","fileCount":9,"integrity":"sha512-J4U4S3muBE24gEo8iiO+OSl7p175w2Z+7IqMGb0JWMa6sPWA5+8PtkKiPGtHjp9YUdQU6WuN9JWMtnzS8HPTXQ==","signatures":[{"sig":"MEYCIQChLLPXmBozNOjRwgm1+iZmfwlinnN7ZEUVk9WiHFSeKgIhANR7XAVNn6ooIOUgy2oEgus7vhw5RExmrunUWrsBrurW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46107},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/cd8fbb5c4c72744c19fc88246ce1265b/ai-retry-0.5.1.tgz","_integrity":"sha512-J4U4S3muBE24gEo8iiO+OSl7p175w2Z+7IqMGb0JWMa6sPWA5+8PtkKiPGtHjp9YUdQU6WuN9JWMtnzS8HPTXQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.30","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.5.1_1761199369491_0.2248058831697577","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"ai-retry","version":"0.6.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.6.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"8db578e3071b5010cb120af3e93380d17eea0dfa","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.6.0.tgz","fileCount":9,"integrity":"sha512-Q25P2dtBacZE6HMM3A9y+mVxGrjwrjIHck0k0h4GpPCCEr0fl4Iv1yQRsjVE20vw7lXzZaF1Qb2nMvIlCjr9gg==","signatures":[{"sig":"MEQCIAeCsi6VKiopdalWMVPMwxKtQTqih2jVAe0aoEsh0caRAiA2flHy+SK+bmSUvRcw1mYSDzcK7dMv+XRdyUkDyqYebQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48277},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/476aab71501569ac3c528a53fea155c4/ai-retry-0.6.0.tgz","_integrity":"sha512-Q25P2dtBacZE6HMM3A9y+mVxGrjwrjIHck0k0h4GpPCCEr0fl4Iv1yQRsjVE20vw7lXzZaF1Qb2nMvIlCjr9gg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.6.0_1761237603853_0.6582849236163422","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"ai-retry","version":"0.7.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.7.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"f580f77c341e0d147fd78168c220e507a98bdcc6","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.7.0.tgz","fileCount":9,"integrity":"sha512-Ix1uzL2sMXOCfbBcpw09Rcseyw+1qWFvpmewKsbnIF5Z93BhN+brXeRJhswy2GeFa4wuzGQDB+jxWxt9swfivQ==","signatures":[{"sig":"MEUCIQCzmdGbXapxtXEf1bActURUQLxcBjODZ0ZPo90EKyhAqAIgF0x2wdvGzPpHCclaf0vOgI3k4peEKBFrDTEnJfcjIDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52880},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/5c41e3ba5fd8f8faabf09601d852ca8d/ai-retry-0.7.0.tgz","_integrity":"sha512-Ix1uzL2sMXOCfbBcpw09Rcseyw+1qWFvpmewKsbnIF5Z93BhN+brXeRJhswy2GeFa4wuzGQDB+jxWxt9swfivQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.7.0_1761371797620_0.7154635195976833","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"ai-retry","version":"0.8.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.8.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"a918f154ad998d5150fc29cfff3106e2a2e5039d","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.8.0.tgz","fileCount":9,"integrity":"sha512-F/Xb5AxK3rwWja092FcvSLUtnu1t/7SId3H437xOnenjPo+a/5uaY8u4yCiBEeu4GUA4Wsx0g/jHl5tI2eAfbA==","signatures":[{"sig":"MEUCIEoo795SKLgYdVZcIsUWtDYuVCkeni+115YcprXCgSN/AiEAsbbmExueLfBpRKL+t12R92zl2wv6qNUStCEYZwZs5mY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55319},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/58d68286ec4cf51cf91268489df04148/ai-retry-0.8.0.tgz","_integrity":"sha512-F/Xb5AxK3rwWja092FcvSLUtnu1t/7SId3H437xOnenjPo+a/5uaY8u4yCiBEeu4GUA4Wsx0g/jHl5tI2eAfbA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.1","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.8.0_1762616526517_0.27177107223877206","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"ai-retry","version":"0.9.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.9.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"e0fe2ba5ba65974c40641cad238f2c0f98a9e76f","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.9.0.tgz","fileCount":9,"integrity":"sha512-oupcBefkgepptq6lzFXse9vQOxvMoACM6RjPlPf64MK/MkHYWgNFpcked8YA6w/1wWWrN6iCnKYVlPULSSF2qw==","signatures":[{"sig":"MEUCIQCIWwZEIao08Ub3SjEK6sdspayz2QljoXCI4EMguM0ygQIgULAMuajGJOu4Fr3q+8tkqGlxRXY283RvgVIbsdzTKWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56897},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/54aede3bcf190d169f82625e40c1258f/ai-retry-0.9.0.tgz","_integrity":"sha512-oupcBefkgepptq6lzFXse9vQOxvMoACM6RjPlPf64MK/MkHYWgNFpcked8YA6w/1wWWrN6iCnKYVlPULSSF2qw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.9.0_1763972402315_0.046144535658666275","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"ai-retry","version":"0.10.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.10.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"f09662234b8e0067a6eea730531e766f0d7c3c37","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.10.0.tgz","fileCount":9,"integrity":"sha512-sk4lIbeduoJvVAX5pErrQPIelVq+3Z7HPVmVVh+zpkXCplRt/8NKR8GaJKFN1ZW+bQ3DlIzKwUtWIZWSMg96wA==","signatures":[{"sig":"MEUCIQCnn0ewUrqv/2ipISNEcB/yx6QogE5CYejlIzUmpQ5MzQIgGXrckZiSvIvVokQWJhmtBkpK8cqESCgSDz7eqRghIeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59020},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/dee891072a3ca506a5a3a8899152fbea/ai-retry-0.10.0.tgz","_integrity":"sha512-sk4lIbeduoJvVAX5pErrQPIelVq+3Z7HPVmVVh+zpkXCplRt/8NKR8GaJKFN1ZW+bQ3DlIzKwUtWIZWSMg96wA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.10.0_1763977923042_0.2501778502095522","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"ai-retry","version":"0.10.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.10.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"c3e0151a1b24cbf29dc81b726095fea09cb1ac20","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.10.1.tgz","fileCount":9,"integrity":"sha512-jmBMx5WZ9n1rhHTch44itSbagQP4x4B34+SO+lWeowqFBad2zxdcEi+PlEMrU9dsQuoSIceiAC52LSvWj70cfg==","signatures":[{"sig":"MEYCIQCyr5AHQGPov0mqSQzkpyRx1MFRszUsGqpJ3uQNrkXsOgIhAJrBFqRGU53yVmmwgjR5WgWI59a2eTu/3rIdLo6Rp6/W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59060},"main":"./dist/index.js","type":"module","_from":"file:ai-retry-0.10.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":"./dist/index.js","./retryables":"./dist/retryables/index.js","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/8f34d2b8bee980781d207a4ee25fc699/ai-retry-0.10.1.tgz","_integrity":"sha512-jmBMx5WZ9n1rhHTch44itSbagQP4x4B34+SO+lWeowqFBad2zxdcEi+PlEMrU9dsQuoSIceiAC52LSvWj70cfg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.5","zod":"^4.1.8","husky":"^9.1.7","tsdown":"^0.15.9","vitest":"^3.2.4","publint":"^0.3.13","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.10.1_1763984036204_0.3161630726447655","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.0":{"name":"ai-retry","version":"1.0.0-beta.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.0-beta.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"1d2ce1edbe2a5a790cb23d54daf33cb073f17818","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.0-beta.0.tgz","fileCount":9,"integrity":"sha512-/0XfwAIJwnEWPCAghHfgEwmg7Ets6sxBxFSnYcBcQmNKAPnjVYrFXwUYdfEV1i8BhuhkhwLq+0O4+p4OdcU44w==","signatures":[{"sig":"MEYCIQC6fIjzXKTIaGlIE89Oh29Ibm8BMrZg/p8lytan7manAQIhAL9t7/+qQihXlaaF9fg5xPzbE3F/ckoGpuzZ/oL70DZq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59377},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.0-beta.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","publish:alpha":"pnpm version prerelease --preid alpha && pnpm publish --tag alpha"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/c49543cd8dac41022b34f105fb91c001/ai-retry-1.0.0-beta.0.tgz","_integrity":"sha512-/0XfwAIJwnEWPCAghHfgEwmg7Ets6sxBxFSnYcBcQmNKAPnjVYrFXwUYdfEV1i8BhuhkhwLq+0O4+p4OdcU44w==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"3.0.0-beta.17","@ai-sdk/provider-utils":"4.0.0-beta.34"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"6.0.0-beta.116","msw":"^2.12.3","tsx":"^4.20.6","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.16.7","vitest":"^4.0.14","publint":"^0.3.15","unbuild":"^3.6.1","pkg-pr-new":"^0.0.60","typescript":"^5.9.3","@types/node":"^24.10.1","@ai-sdk/groq":"3.0.0-beta.36","@ai-sdk/azure":"3.0.0-beta.68","@ai-sdk/openai":"3.0.0-beta.66","@biomejs/biome":"^2.3.7","@ai-sdk/anthropic":"3.0.0-beta.59","@ai-sdk/test-server":"1.0.0-beta.1","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.0-beta.0_1764089465679_0.8238477506778643","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"ai-retry","version":"0.10.2","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.10.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"7b9757429da2685851919528e85a2c4e7dcb2b25","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.10.2.tgz","fileCount":9,"integrity":"sha512-hrUmreyw87BYM41L4uvQQJWCJUYxpLk9Uz7wZh94DDPg/FHB9Hz2N8KwRn/q6fPaLFfBV9+wTIYfQrWJw4tgYg==","signatures":[{"sig":"MEQCIDuekze5jpXgwXPcvy5ve2EcswbWcxUExlQJxEWgVwQZAiAsL0FdBZctQ9Sd+WEBBJWejwj7y+2Xi52BqJseBoKihA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59151},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-0.10.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/45ab00c7861932542f42f5b1bc9d9cc6/ai-retry-0.10.2.tgz","_integrity":"sha512-hrUmreyw87BYM41L4uvQQJWCJUYxpLk9Uz7wZh94DDPg/FHB9Hz2N8KwRn/q6fPaLFfBV9+wTIYfQrWJw4tgYg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.6","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.16.7","vitest":"^4.0.14","publint":"^0.3.15","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.10.2_1764138840443_0.9256563573587877","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"ai-retry","version":"0.10.3","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.10.3","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"ee785152bd9f0c762c61a38a662aa1287a6c49f9","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.10.3.tgz","fileCount":9,"integrity":"sha512-hkqskZt7gNac1o8GuJppDtSbQ2ViJPyzkuAWdh+4exHeHm7e66+/0sZAKN39Y18z9hr1zrXZAGrBzd7YQNJVYQ==","signatures":[{"sig":"MEUCIQCRmFhbtTSL4njd1or37Fblc4MHH09ihr938g5BsAWeegIgYuhPzADrA3vTVAyiFCpfyRtAX5kLb63MIbIYaX4xCbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59163},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-0.10.3.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/2e283078345cacf6047393420ae339e3/ai-retry-0.10.3.tgz","_integrity":"sha512-hkqskZt7gNac1o8GuJppDtSbQ2ViJPyzkuAWdh+4exHeHm7e66+/0sZAKN39Y18z9hr1zrXZAGrBzd7YQNJVYQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.6","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.16.7","vitest":"^4.0.14","publint":"^0.3.15","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.10.3_1764139165192_0.36018778928964856","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"ai-retry","version":"1.0.0-beta.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.0-beta.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"121ce1d0ecc89fcf4ab808b40f36106ee3e8aa6a","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.0-beta.1.tgz","fileCount":9,"integrity":"sha512-WUk5paJIo3UefVYx852r4eFHhDMs725YcDQH/qUabRZtRGMtZbo8nEbo2zN3GRtflDXgzbTZvj/h9riugf9guQ==","signatures":[{"sig":"MEQCIF6dEQ8BQoEG+3rgSekC+NcNh7JQfgFJ71GwYcKKWksiAiB9pChsHhdXIC9nIVoCjNlHlTKLlf6FylnPcoj8fk0Z6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62121},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.0-beta.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/b29df49b3a1931a0e1d87ed5f1346208/ai-retry-1.0.0-beta.1.tgz","_integrity":"sha512-WUk5paJIo3UefVYx852r4eFHhDMs725YcDQH/qUabRZtRGMtZbo8nEbo2zN3GRtflDXgzbTZvj/h9riugf9guQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"3.0.0-beta.17","@ai-sdk/provider-utils":"4.0.0-beta.34"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"6.0.0-beta.116","msw":"^2.12.3","tsx":"^4.20.6","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.16.7","vitest":"^4.0.14","publint":"^0.3.15","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.10.1","@ai-sdk/groq":"3.0.0-beta.36","@ai-sdk/azure":"3.0.0-beta.68","@ai-sdk/openai":"3.0.0-beta.66","@biomejs/biome":"^2.3.7","@ai-sdk/gateway":"2.0.0-beta.66","@ai-sdk/anthropic":"3.0.0-beta.59","@ai-sdk/test-server":"1.0.0-beta.1","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.0-beta.1_1764337040148_0.26087358460263865","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"ai-retry","version":"0.11.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.11.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"84e3122e72fd9649e1504a72836c4cdbd0c10ffd","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.11.0.tgz","fileCount":9,"integrity":"sha512-vwijEm8RbyrGrQZOmU80MVUc61326YkGKxrJzB+41QahHVAKlYV4cWvA0Iae3fRl6QC/dOCyq+KhRxk+bfQ9QQ==","signatures":[{"sig":"MEUCIDBUB2dOy05/WhrP9Y5+U7ATKXG/kq0cDh/NZAhD5JjcAiEA76HH6v9KcpuA8d+iGtmTjOa+sae6gsPgho/hqywkqac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":67583},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-0.11.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/3042cb95f037c9689425193867987466/ai-retry-0.11.0.tgz","_integrity":"sha512-vwijEm8RbyrGrQZOmU80MVUc61326YkGKxrJzB+41QahHVAKlYV4cWvA0Iae3fRl6QC/dOCyq+KhRxk+bfQ9QQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.44","msw":"^2.11.2","tsx":"^4.20.6","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.16.7","vitest":"^4.0.14","publint":"^0.3.15","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.11.0_1764480765731_0.13031752375157213","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"ai-retry","version":"0.12.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@0.12.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"beb6446f2d4fee0ab93b921bcab365643c10249d","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-0.12.0.tgz","fileCount":9,"integrity":"sha512-WUpVD9obxSA/UXfBRHzuJhBMWF7rW0xHWU/Nq28leRR0pH+j5btpvyFk/7CImwpAutublnD3u/C7Rp2UrpmWzA==","signatures":[{"sig":"MEQCIF0C+baQO6WMmKbMqIqsx7PpAM2hcsXnx4GkuL7DUNuQAiA+gd+hSxnyPOp9Lab9Qn7n5/ZUiilNm35WjpGBc/CvFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70347},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-0.12.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/cd3d9adc3715f7218991038a368d4425/ai-retry-0.12.0.tgz","_integrity":"sha512-WUpVD9obxSA/UXfBRHzuJhBMWF7rW0xHWU/Nq28leRR0pH+j5btpvyFk/7CImwpAutublnD3u/C7Rp2UrpmWzA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"^2.0.0","@ai-sdk/provider-utils":"^3.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^5.0.102","msw":"^2.11.2","tsx":"^4.20.6","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.16.7","vitest":"^4.0.14","publint":"^0.3.15","pkg-pr-new":"^0.0.60","typescript":"^5.9.2","@types/node":"^24.3.3","@ai-sdk/groq":"^2.0.24","@ai-sdk/azure":"^2.0.30","@ai-sdk/openai":"^2.0.53","@biomejs/biome":"^2.2.4","@ai-sdk/gateway":"^2.0.15","@ai-sdk/anthropic":"^2.0.18","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"5.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_0.12.0_1765348756032_0.34075598265964935","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"ai-retry","version":"1.0.0-beta.2","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.0-beta.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"a40acfd40786cee51cb33abbc231ab9678a10501","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.0-beta.2.tgz","fileCount":9,"integrity":"sha512-5/fmopz/pxMeOSjef9qu+9cK63JcQY4TbrXV3wQHk0FpU3zqlY6NzLqoY5UrwjmUNyU9l6rxzLJLkPYQsrLCeA==","signatures":[{"sig":"MEYCIQDKsgkaJTVMV1h2C3yjKY8WDsOh8/7oI8Z1foA2kf318wIhANlPoM4XK32VASssjw/IKTaH4rggfK08kPW1thTFZGT4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70340},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.0-beta.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/df4be641f45456f139b5da929feade8c/ai-retry-1.0.0-beta.2.tgz","_integrity":"sha512-5/fmopz/pxMeOSjef9qu+9cK63JcQY4TbrXV3wQHk0FpU3zqlY6NzLqoY5UrwjmUNyU9l6rxzLJLkPYQsrLCeA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"3.0.0-beta.26","@ai-sdk/provider-utils":"4.0.0-beta.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"6.0.0-beta.139","msw":"^2.12.4","tsx":"^4.21.0","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.17.2","vitest":"^4.0.15","publint":"^0.3.16","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^24.10.2","@ai-sdk/groq":"3.0.0-beta.48","@ai-sdk/azure":"3.0.0-beta.91","@ai-sdk/openai":"3.0.0-beta.89","@biomejs/biome":"^2.3.8","@ai-sdk/gateway":"2.0.18","@ai-sdk/anthropic":"3.0.0-beta.80","@ai-sdk/test-server":"1.0.0-beta.1","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.0-beta.2_1765351386336_0.764086119891078","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"ai-retry","version":"1.0.0-beta.3","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.0-beta.3","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"6826cbf5568a7b575890878886b0ed9f8060c81c","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.0-beta.3.tgz","fileCount":9,"integrity":"sha512-WDe8OM4G+aPUdkWt0Gf8CsXpXYejV3hs/WONsbyYSggkjTALMQjhg7lKRuntdJIuxHihS5y/0vScww23mrFMMQ==","signatures":[{"sig":"MEYCIQCtPlmiI5wd8gFs/ga7ZeXKkl7HwBXVsV3B6vCs0/zNjQIhALpvusRsCHkXP6ZlNr9b/dnrNLpaFXu6WVl5UNj4SLOy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70340},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.0-beta.3.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"chriszirkel","email":"chris.zirkel@gmail.com"},"_resolved":"/private/var/folders/_y/_4h8lsmx5053g1g2x562lt0m0000gn/T/378ca916219477d58aeaa4f05605148d/ai-retry-1.0.0-beta.3.tgz","_integrity":"sha512-WDe8OM4G+aPUdkWt0Gf8CsXpXYejV3hs/WONsbyYSggkjTALMQjhg7lKRuntdJIuxHihS5y/0vScww23mrFMMQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@ai-sdk/provider":"3.0.0-beta.26","@ai-sdk/provider-utils":"4.0.0-beta.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"6.0.0-beta.139","msw":"^2.12.4","tsx":"^4.21.0","zod":"^4.1.13","husky":"^9.1.7","tsdown":"^0.17.2","vitest":"^4.0.15","publint":"^0.3.16","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^24.10.2","@ai-sdk/groq":"3.0.0-beta.48","@ai-sdk/azure":"3.0.0-beta.91","@ai-sdk/openai":"3.0.0-beta.89","@biomejs/biome":"^2.3.8","@ai-sdk/gateway":"2.0.18","@ai-sdk/anthropic":"3.0.0-beta.80","@ai-sdk/test-server":"1.0.0-beta.1","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.0-beta.3_1765351769820_0.2544746435020069","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"ai-retry","version":"1.0.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"eb05811013fb02bc468c5c153da1b815a40dde6a","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.0.tgz","fileCount":9,"integrity":"sha512-+cJYb0/it9WMlxRCa3M2q8YsjZOmSEs+YlikvRElvkaDN9k9VCJpMP8O9qeFwLhPs7KsE8RMM2rtLuWwFlBMEQ==","signatures":[{"sig":"MEYCIQCCGzEn5VvtecHL9WgCdszIxfMHsocJmZwe5a1WbOkl4wIhAIn+Sm2ACDYKTMGq+ZH/Y2pGGVC3qPWsGpmOMtuWDO6J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70036},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/84f99baa952e786807b89a0c1993b49d/ai-retry-1.0.0.tgz","_integrity":"sha512-+cJYb0/it9WMlxRCa3M2q8YsjZOmSEs+YlikvRElvkaDN9k9VCJpMP8O9qeFwLhPs7KsE8RMM2rtLuWwFlBMEQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@ai-sdk/provider":"3.0.0","@ai-sdk/provider-utils":"4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.0","msw":"^2.12.4","tsx":"^4.21.0","zod":"^4.2.1","husky":"^9.1.7","tsdown":"^0.18.2","vitest":"^4.0.16","publint":"^0.3.16","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.3","@ai-sdk/groq":"3.0.0","@ai-sdk/azure":"3.0.0","@ai-sdk/openai":"3.0.0","@biomejs/biome":"^2.3.10","@ai-sdk/gateway":"2.0.23","@ai-sdk/anthropic":"3.0.0","@ai-sdk/test-server":"1.0.0","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.0_1766470844846_0.8402220656656709","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"ai-retry","version":"1.0.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"937297f97241a8ed43e4e60f4fe4b8eff56dcd9d","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.1.tgz","fileCount":9,"integrity":"sha512-IlQO2BxQQkqP+EpnZmITzPHGiu6oGD8mcvXRcQo6i7SiGgOQpFjvMwfJE7gOf47YIil2+Offa0gJiSvZy9h59w==","signatures":[{"sig":"MEUCIAtH8KZ91AIKnoed7p5T1yQiDqyeAKfxkEEP5tAAXp/PAiEAn8TGQm09zzOqheS2XIBKBom20ZbHppkRHgm393hU62c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70416},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/549eb13750019c8509706d9dfb01754a/ai-retry-1.0.1.tgz","_integrity":"sha512-IlQO2BxQQkqP+EpnZmITzPHGiu6oGD8mcvXRcQo6i7SiGgOQpFjvMwfJE7gOf47YIil2+Offa0gJiSvZy9h59w==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@ai-sdk/provider":"3.0.0","@ai-sdk/provider-utils":"4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.0","msw":"^2.12.4","tsx":"^4.21.0","zod":"^4.2.1","husky":"^9.1.7","tsdown":"^0.18.2","vitest":"^4.0.16","publint":"^0.3.16","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.3","@ai-sdk/groq":"3.0.0","@ai-sdk/azure":"3.0.0","@ai-sdk/openai":"3.0.0","@biomejs/biome":"^2.3.10","@ai-sdk/gateway":"2.0.23","@ai-sdk/anthropic":"3.0.0","@ai-sdk/test-server":"1.0.0","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.1_1766472279584_0.412642518478157","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"ai-retry","version":"1.0.2","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.0.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"1a303562a8c5ce020969d2006734f8889595af7d","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.0.2.tgz","fileCount":9,"integrity":"sha512-tQ390FVNtlXsGzH4XV+ox471W42FQg9C7VPllymJqGfiZ65r3DUxM8lQPmI6Fjl1DRnesT2pWzZ+qVu0aR9WOw==","signatures":[{"sig":"MEYCIQDklEToDggcc/lqe9poMRZ73fcOKliA0UD9UINWegxoagIhALgtCEL5Y1sfKZoVpbs20+TyCzmbh9Fo8N6KeOB3WuRQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71567},"main":"./dist/index.mjs","type":"module","_from":"file:ai-retry-1.0.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/965a2fb6d3c618cd363b4e182f24c8c3/ai-retry-1.0.2.tgz","_integrity":"sha512-tQ390FVNtlXsGzH4XV+ox471W42FQg9C7VPllymJqGfiZ65r3DUxM8lQPmI6Fjl1DRnesT2pWzZ+qVu0aR9WOw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@ai-sdk/provider":"3.0.2","@ai-sdk/provider-utils":"4.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.20","msw":"^2.12.4","tsx":"^4.21.0","zod":"^4.2.1","husky":"^9.1.7","tsdown":"^0.18.2","vitest":"^4.0.16","publint":"^0.3.16","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.3","@ai-sdk/groq":"3.0.4","@ai-sdk/azure":"3.0.7","@ai-sdk/openai":"3.0.7","@biomejs/biome":"^2.3.10","@ai-sdk/gateway":"3.0.10","@ai-sdk/anthropic":"3.0.9","@ai-sdk/test-server":"1.0.1","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.0.2_1768240080361_0.49354639546970946","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"ai-retry","version":"1.1.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.1.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"e61d5b8fc1a902286fab0f97f75563efcdbf4eba","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.1.0.tgz","fileCount":9,"integrity":"sha512-oOZEzkFvvcdWhH6B6ii6rDtpffmh02IekAhm8mXtXtly/KC6re04wDILlC9HdfRvIMJ6By5qnJD3mYAcDHrs4g==","signatures":[{"sig":"MEUCIAse4cETj09nZo3brj3ZBUVAzKATTogC1eiWuo3Xg/5CAiEA/Ag8XswdmSGlLzvm1/mP1rDBpxH65hRimJY2GPyE5Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75485},"type":"module","_from":"file:ai-retry-1.1.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/bbef69dcc4d97ac9299adeb11e58ac81/ai-retry-1.1.0.tgz","_integrity":"sha512-oOZEzkFvvcdWhH6B6ii6rDtpffmh02IekAhm8mXtXtly/KC6re04wDILlC9HdfRvIMJ6By5qnJD3mYAcDHrs4g==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","@ai-sdk/provider":"3.0.5","@ai-sdk/provider-utils":"4.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","husky":"^9.1.7","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/openai":"3.0.19","@biomejs/biome":"^2.3.13","@ai-sdk/gateway":"3.0.23","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.1.0_1769503044253_0.48006529374482776","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"ai-retry","version":"1.2.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.2.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"58439a6323538efe50b9b966efa2dfc617d9fb51","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.2.0.tgz","fileCount":9,"integrity":"sha512-hri6W9VWvJMupQ95VknvTtM1Ub5o/omXhwRqgXwUTokL9vWoqDwseTQRSzh4SNOSbnxyTwt49ohhSnHAst2AJA==","signatures":[{"sig":"MEUCIH4K41S7sMH5vzEhLl/oHTL1DN+KiKbG+ejOb2ga0S9XAiEAp/QpLo732RjYQbrVOxhbt5+zXXZtug10aEukjla3Slw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80280},"type":"module","_from":"file:ai-retry-1.2.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/eb8c9cd6a5c8a893a2c646574f01b615/ai-retry-1.2.0.tgz","_integrity":"sha512-hri6W9VWvJMupQ95VknvTtM1Ub5o/omXhwRqgXwUTokL9vWoqDwseTQRSzh4SNOSbnxyTwt49ohhSnHAst2AJA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.6.2","description":"AI SDK Retry","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.3.6","@ai-sdk/provider":"3.0.5","@ai-sdk/provider-utils":"4.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","husky":"^9.1.7","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/openai":"3.0.19","@biomejs/biome":"^2.3.13","@ai-sdk/gateway":"3.0.23","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.2.0_1769594922674_0.4947910975894112","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"ai-retry","version":"1.3.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.3.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"4724256759c127ce8f07aa545291b98a51ea055f","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.3.0.tgz","fileCount":9,"integrity":"sha512-NY7OkpIPC8MEdseHnLhuHGLwr/LAp/Rd2OgXcl6CKhfv8YoFIjMP+uKXDei1ixnSawsMzwEh2hmetSJPHSEEsg==","signatures":[{"sig":"MEUCIBDVgRuwPTjTU+/M1J7wQwwusBOUzb4GCf7CoLhY1DorAiEArFngyy0v2JhZZ9BQo4j/U8natHX5lMwCibvcG5xNzVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89593},"type":"module","_from":"file:ai-retry-1.3.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/02e2546985cb275db2cc5d9891fdeb19/ai-retry-1.3.0.tgz","_integrity":"sha512-NY7OkpIPC8MEdseHnLhuHGLwr/LAp/Rd2OgXcl6CKhfv8YoFIjMP+uKXDei1ixnSawsMzwEh2hmetSJPHSEEsg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.8.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"_nodeVersion":"24.13.1","dependencies":{"zod":"^4.3.6","@ai-sdk/provider":"3.0.5","@ai-sdk/provider-utils":"4.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","husky":"^9.1.7","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@biomejs/biome":"^2.3.13","@ai-sdk/gateway":"3.0.23","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.3.0_1772439901750_0.3715922591955563","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"ai-retry","version":"1.3.1","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.3.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"2226a419f25aa05ca2e0a0988348adcaff8e2664","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.3.1.tgz","fileCount":9,"integrity":"sha512-d3jh8Gyg/OSS60vfucX4WlGhZVCmPdtD5SSp31+W0InT4Fa0+JvzxVCrlnGvugv++piG52m+YLMdpmHsswGtYg==","signatures":[{"sig":"MEUCIQCJTAFfJZKf6plnKeOYz9vq/atpyPglDYUVNpCHLmliAwIgYeOqw17qYmh6C07cSxPCDM8vPYV4U0v8pDV6l39VRLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90155},"type":"module","_from":"file:ai-retry-1.3.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/b56d797de1ccd0d3c7ed1a3b5d42dc37/ai-retry-1.3.1.tgz","_integrity":"sha512-d3jh8Gyg/OSS60vfucX4WlGhZVCmPdtD5SSp31+W0InT4Fa0+JvzxVCrlnGvugv++piG52m+YLMdpmHsswGtYg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.9.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@biomejs/biome":"^2.3.13","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.3.1_1775026999838_0.17533510713994427","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"ai-retry","version":"1.4.0","keywords":["ai","ai-sdk","retry","fallback"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.4.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"0e130c0d48253a0a53e5ef0003596dc3d567f554","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.4.0.tgz","fileCount":9,"integrity":"sha512-RkGpo1l12zwpIXBHVBVdi01hV45zQ9oFWSINoAUSd2Xi+vuDfo3GmsxhsvXd0Vjm/9PKrjgU06TLQcAg08EfTg==","signatures":[{"sig":"MEQCICsEZcR/ZBGdBY5fDxPEEJYYHbZ6wDjUbaLF4cnBkBgcAiAkPaGchFf2ZXgdea3WcZRFp8HfNVr+gJTGJ2NsB8A/Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":93493},"type":"module","_from":"file:ai-retry-1.4.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"biome check . --write","test":"vitest","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/ed5c0cf76e50a77ccefc41f385cb5e33/ai-retry-1.4.0.tgz","_integrity":"sha512-RkGpo1l12zwpIXBHVBVdi01hV45zQ9oFWSINoAUSd2Xi+vuDfo3GmsxhsvXd0Vjm/9PKrjgU06TLQcAg08EfTg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.9.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@biomejs/biome":"^2.3.13","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.4.0_1775027877246_0.5553929025416671","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"ai-retry","version":"1.5.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.5.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"db2e2a2b1c30f3cf01367dc5c32fead90d6c684e","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.5.0.tgz","fileCount":9,"integrity":"sha512-KVDY8Z7LWyRbnCnrBlVbIF9SLOB1R0WWD3P/+S5D3Wx1nemJqsUWXbi0VcTgTxxh8qj9KThFgy0L3+gIUiOEWg==","signatures":[{"sig":"MEUCICRMjG186aO4Ec8X9KES+SbudCb9BeuIahIuIPozEcqzAiEA3q4/pzfG3Ch7qJyL5Nhtfe7DTn9jMZhlTD/uZ+I3CmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100700},"type":"module","_from":"file:ai-retry-1.5.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/3dae33f28ed83a5b57edbc0d6b3b57f3/ai-retry-1.5.0.tgz","_integrity":"sha512-KVDY8Z7LWyRbnCnrBlVbIF9SLOB1R0WWD3P/+S5D3Wx1nemJqsUWXbi0VcTgTxxh8qj9KThFgy0L3+gIUiOEWg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.11.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.5.0_1776166260513_0.3767120961732371","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"ai-retry","version":"1.6.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.6.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"64e2b8064b27726a7b284f1e4a6caccaa7026ca7","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.6.0.tgz","fileCount":12,"integrity":"sha512-6ipM9T3UxbuhOfFW+glEhqOa+/nb/Hs7VaNJHpJjZOdrNGAxs+ds9/X1NWazKaC2XHSHB/G9gI5fywAljfZdFg==","signatures":[{"sig":"MEUCIHHDVgHPBeFngtQEsMMC5AxuMrBr+QKnzYW+l3EmedMvAiEA7ksTyo7b6borJKxyuO6ClU09fums6PbizFkzEo6tQRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126809},"type":"module","_from":"file:ai-retry-1.6.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./retryables/experimental":"./dist/retryables/experimental/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/8c9d047ffdb670ef8c9b966447258282/ai-retry-1.6.0.tgz","_integrity":"sha512-6ipM9T3UxbuhOfFW+glEhqOa+/nb/Hs7VaNJHpJjZOdrNGAxs+ds9/X1NWazKaC2XHSHB/G9gI5fywAljfZdFg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.12.1","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.6.0_1777364203524_0.7731684484302879","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"ai-retry","version":"1.6.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.6.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"c168e94387ebe12972cf8414bc431044635f7351","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.6.1.tgz","fileCount":12,"integrity":"sha512-XghoF8PJvbC3vSihmVr2sm9nNuEWFCiJ3QcTF5kQuZYi4s0g06ZWiUP7Rxb/9NqEFbrzuTG3EauzMadeBN6WRg==","signatures":[{"sig":"MEYCIQCpZT9mL2I9eMcnL3cmtDM4+riIxVoY4EPO+n7WoCgC9wIhALujmjsoAe/loxvm27hpn1u1Kt+adEv++Oout1Xin+O5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128555},"type":"module","_from":"file:ai-retry-1.6.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./retryables/experimental":"./dist/retryables/experimental/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/ef3c91fdc4955372184552c83dd63ac9/ai-retry-1.6.1.tgz","_integrity":"sha512-XghoF8PJvbC3vSihmVr2sm9nNuEWFCiJ3QcTF5kQuZYi4s0g06ZWiUP7Rxb/9NqEFbrzuTG3EauzMadeBN6WRg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.11.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.6.1_1777883577307_0.4194630953614149","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"ai-retry","version":"1.7.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.7.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"66f3289d703ecc92350ef9e7e9ce1e792a294567","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.7.0.tgz","fileCount":29,"integrity":"sha512-o0z9gihMmKv1mHvtoy4CmB5Tz2weRUsmTXxAvXm/VHyrct1X7FD987VVkj/TtcBwAf8+JkGyMSq5DXxxPQDDRg==","signatures":[{"sig":"MEQCIDK7XzB7ZZB+EGwxiJ/y6WZ7tLQ+06yCvpw+ZYl/9yHAAiB6nPRXS7GkxmO2eOFg2OeqyWy84Mp3Zv91Mo+qRWobLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141530},"type":"module","_from":"file:ai-retry-1.7.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/da12d6da3c00defcaba86c4467e22fad/ai-retry-1.7.0.tgz","_integrity":"sha512-o0z9gihMmKv1mHvtoy4CmB5Tz2weRUsmTXxAvXm/VHyrct1X7FD987VVkj/TtcBwAf8+JkGyMSq5DXxxPQDDRg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.11.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.7.0_1778163593717_0.47231233071817846","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"ai-retry","version":"1.7.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.7.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"eeb3c205061dfe7b6c5182d452952fdcd0b1a294","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.7.1.tgz","fileCount":29,"integrity":"sha512-VEqDcoBM56RgvDq8HlsCx34t/BZBAjUENy9viwBvxAaz8sPQ9fPGXqkObq6W/mHswzyMZWY8ZpnNAZdCzIN8pA==","signatures":[{"sig":"MEUCIQC+aIml21C4SOhf0vYHBLDdgkcedCSZrbM6GbyudcC87gIgLpSDkX0sG2yUU4WgEYB/rjTjZ+gqZDMFRKdiF+3M8o4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":142176},"type":"module","_from":"file:ai-retry-1.7.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/cf6892cdb6de597c0b56bf4bbc0e5cf5/ai-retry-1.7.1.tgz","_integrity":"sha512-VEqDcoBM56RgvDq8HlsCx34t/BZBAjUENy9viwBvxAaz8sPQ9fPGXqkObq6W/mHswzyMZWY8ZpnNAZdCzIN8pA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.11.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.7.1_1778225018519_0.5411621126175761","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"ai-retry","version":"1.7.2","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.7.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"003bbcd0d2002abce3132831f8f909a43f120a64","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.7.2.tgz","fileCount":29,"integrity":"sha512-bB4/cbN9UzqI9e6u0oeycRn24yFftmgFxhWG4MGWT/xrkP/MoVDVeU9xxbo/tFi1zwe2xWA6RadDqyHr48A1bg==","signatures":[{"sig":"MEUCIQDnUV2TWGukxKDq7DKAIhAI9Gt8ExZfSoAmR6CUeGPCJQIga69gd1mFYWri2uhVvCgUd3bSpjz9oXyq2ynsiDn7toA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141713},"type":"module","_from":"file:ai-retry-1.7.2.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/ba918e4bda8c71ad2e9d2b2151154307/ai-retry-1.7.2.tgz","_integrity":"sha512-bB4/cbN9UzqI9e6u0oeycRn24yFftmgFxhWG4MGWT/xrkP/MoVDVeU9xxbo/tFi1zwe2xWA6RadDqyHr48A1bg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.11.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.7.2_1778498041025_0.4825619090787172","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"ai-retry","version":"1.7.3","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.7.3","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"59d4a565698e35b000dd5db7d15d9a1e6f706b47","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.7.3.tgz","fileCount":29,"integrity":"sha512-j4ZL8WvIpONXd/vp6mpNW6ztO4yHEa8yQ92uWL7uY6f2+eg9Vzeg4i3n2Slw0eSBcAgIcJjE78KMSI/cTqkOzw==","signatures":[{"sig":"MEUCIHdgV33pcvQZDGm/J3Hco+zf2ri4z3SNjjlbn7+YVlxSAiEAsYJXQBN/SxopQLEmWCTQ5Fx7Ji+fxdBpo7OpGJRMsWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141590},"type":"module","_from":"file:ai-retry-1.7.3.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/259e3bc15bec1868360e5bc5014e4390/ai-retry-1.7.3.tgz","_integrity":"sha512-j4ZL8WvIpONXd/vp6mpNW6ztO4yHEa8yQ92uWL7uY6f2+eg9Vzeg4i3n2Slw0eSBcAgIcJjE78KMSI/cTqkOzw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.11.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.7.3_1778499303409_0.08099286196839417","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"ai-retry","version":"1.7.4","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.7.4","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"dc1dd7911e5315b299aece1bb1b748a86de2e4fb","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.7.4.tgz","fileCount":29,"integrity":"sha512-CMrYcM/k0VTkREfGGJDK6Hp0yt6Z5O6Dqkphqlcnq8O13cBMG6dgmOECiOI0TJ5ZUKNPyJMbljVSa3BpiXvuWQ==","signatures":[{"sig":"MEQCIA5aWUt0ptC5NFliqk64kwR/reAiY7bGO59S9246uq7pAiBoIrISaSYOhnlwIZmZrHiNKHQmwRDaj2tR93znbfVRAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":144034},"type":"module","_from":"file:ai-retry-1.7.4.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/dc8d5605de23a068b1a44240ad2ba20b/ai-retry-1.7.4.tgz","_integrity":"sha512-CMrYcM/k0VTkREfGGJDK6Hp0yt6Z5O6Dqkphqlcnq8O13cBMG6dgmOECiOI0TJ5ZUKNPyJMbljVSa3BpiXvuWQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.12.1","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@total-typescript/tsconfig":"^1.0.4"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@ai-sdk/provider-utils":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.7.4_1779094578044_0.55517776617068","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"ai-retry","version":"1.8.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.8.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"7e15b55e67e5089140a29c15001c832e42325af3","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.8.0.tgz","fileCount":29,"integrity":"sha512-DOsAg3P7yFyzW83K8XjES3gkiQczpTRlbP/D3O7BZAjvYpXVwKnfg6ii51IPnuTxKhdyp9dNLjsEoZnsYgqeMQ==","signatures":[{"sig":"MEYCIQCy9KibLHSmmC0MGKKy1GPQ5zLQZEq3tn+Rse1x1Ova9QIhAIIfJDgc+esRhA0psk3ZHub86uHMGcXvwNl5ktOfGpgU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164748},"type":"module","_from":"file:ai-retry-1.8.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/79bdbe5971068124795cee8ce4635512/ai-retry-1.8.0.tgz","_integrity":"sha512-DOsAg3P7yFyzW83K8XjES3gkiQczpTRlbP/D3O7BZAjvYpXVwKnfg6ii51IPnuTxKhdyp9dNLjsEoZnsYgqeMQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.12.1","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^4.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.8.0_1779780678158_0.5534534840169354","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"ai-retry","version":"1.9.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.9.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"9cafbceb4b47f14947d876d81f371f25c6195032","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.9.0.tgz","fileCount":29,"integrity":"sha512-2WnJyAclkVbSpRQiExtRtIJZz6b4ioDFg/3cwLMiU1cBXUPx6HjYBXZi3Y6L+Qu0oxjm7wovm/KAuYWu2ZYWdg==","signatures":[{"sig":"MEYCIQDPevoduUkBJ1QSaMMo9Xkjfpsanjvn8huaoYYHtcfnXAIhAPPqaFzl6qTPMjs2Pd+MN0oIMOJ+OZ3XAddySmy8UY0g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165978},"type":"module","_from":"file:ai-retry-1.9.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/9d1336ced285cb67db2394818d1173c4/ai-retry-1.9.0.tgz","_integrity":"sha512-2WnJyAclkVbSpRQiExtRtIJZz6b4ioDFg/3cwLMiU1cBXUPx6HjYBXZi3Y6L+Qu0oxjm7wovm/KAuYWu2ZYWdg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^4.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.9.0_1779870592191_0.200338976174798","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"ai-retry","version":"1.9.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.9.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"41eb81ced87de957b15c07f0f1b545eb10a45d80","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.9.1.tgz","fileCount":29,"integrity":"sha512-L/9Bi873CC/OOlhSBHJMQKzVCH2c0hW79WtiQNWR7GRkNUkwuPGIxFJN0IqMKfRnMUUDyS3Wq6TJChJnqQPUYA==","signatures":[{"sig":"MEQCIHqG10JDCGn7f2DU4tfMuPGmxP3M+GuI9Z4t4QCAaTPJAiAjoPqYRQoe/XtDyAFfBcW2+FObgkcWP6NFNPGUI+uoFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169096},"type":"module","_from":"file:ai-retry-1.9.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/ebcbf35a19a3ff57513732ba2cdf6330/ai-retry-1.9.1.tgz","_integrity":"sha512-L/9Bi873CC/OOlhSBHJMQKzVCH2c0hW79WtiQNWR7GRkNUkwuPGIxFJN0IqMKfRnMUUDyS3Wq6TJChJnqQPUYA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^4.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.9.1_1780414300771_0.5246414377583157","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"ai-retry","version":"1.10.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.10.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"4b44e682d783ec851af2e63d0187b876d2107f3d","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.10.0.tgz","fileCount":29,"integrity":"sha512-A92AMxRekR1cUEYyV3V8K8AasU1wAlW6rKEGjcxzuX6v+/7HgWcdw1S5AR7AKrN1aUUfL2zKiv7hELUSu3xHrQ==","signatures":[{"sig":"MEQCIEdgBkfMPs2LwoTEdT5s20yWTuWwH3nnK6JkhHtQu00uAiAj6wg/o3o/2uMkDEjiJeD2lQYOfy+TnygL20uRs8wN9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173262},"type":"module","_from":"file:ai-retry-1.10.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./package.json":"./package.json","./experimental/image-model":"./dist/experimental/image-model/index.mjs","./experimental/language-model":"./dist/experimental/language-model/index.mjs","./experimental/embedding-model":"./dist/experimental/embedding-model/index.mjs","./experimental/image-model/retryables":"./dist/experimental/image-model/retryables/index.mjs","./experimental/language-model/retryables":"./dist/experimental/language-model/retryables/index.mjs","./experimental/embedding-model/retryables":"./dist/experimental/embedding-model/retryables/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/f48e13c3e0b9ea1e7087a74d53a820bf/ai-retry-1.10.0.tgz","_integrity":"sha512-A92AMxRekR1cUEYyV3V8K8AasU1wAlW6rKEGjcxzuX6v+/7HgWcdw1S5AR7AKrN1aUUfL2zKiv7hELUSu3xHrQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^4.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.10.0_1780919989923_0.7012533715392841","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"ai-retry","version":"1.11.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.11.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"793f11a3a1fb7121e52fa95c88f493bc6055c880","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.11.0.tgz","fileCount":32,"integrity":"sha512-gsiBkhFsCMAfvj3tdt8zZchIOnyn41hcowXJAshFD66YteS7EByKYs6PRADfqR7ZslfX9OQ/G0yJPg/yd8jDVQ==","signatures":[{"sig":"MEYCIQCxL25VoW95WsTP2OquyjthmOLpclyUIezLrTkykRwRowIhAMPrfc/VX14tTUnpffxJ8liHvscnn3hX9ylGmcyfeiqU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168620},"type":"module","_from":"file:ai-retry-1.11.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/c4108b6e773ad29af58c778a29911641/ai-retry-1.11.0.tgz","_integrity":"sha512-gsiBkhFsCMAfvj3tdt8zZchIOnyn41hcowXJAshFD66YteS7EByKYs6PRADfqR7ZslfX9OQ/G0yJPg/yd8jDVQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^4.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.11.0_1781704714655_0.018521532569382604","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.0":{"name":"ai-retry","version":"2.0.0-beta.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0-beta.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"518715c6232f604e5992a2c35953a98f32d756b5","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0-beta.0.tgz","fileCount":32,"integrity":"sha512-+nEckY9gpxyPPiYAzUoqjgNjfcSzHh8FnMdZUD4Gj2StjqqVdmT5sytIrM7bKqItxFjlzAE3UKYlp3+zVnOgTw==","signatures":[{"sig":"MEYCIQCyOV7Q5YhwV4l3HKICEMz2CVQWiyRHMAneTLGtz4qNqwIhAMz1u74Db3sAip3WGtsUjHEWF7+kv4KUNBh2Bh0TTVII","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0-beta.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168763},"type":"module","_from":"file:ai-retry-2.0.0-beta.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/ec3742e411d1c5087bacf94b49865125/ai-retry-2.0.0-beta.0.tgz","_integrity":"sha512-+nEckY9gpxyPPiYAzUoqjgNjfcSzHh8FnMdZUD4Gj2StjqqVdmT5sytIrM7bKqItxFjlzAE3UKYlp3+zVnOgTw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"7.0.0-beta.179","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0-beta.54","@ai-sdk/azure":"4.0.0-beta.76","@ai-sdk/google":"4.0.0-beta.82","@ai-sdk/openai":"4.0.0-beta.74","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"4.0.0-beta.110","@ai-sdk/provider":"4.0.0-beta.19","@ai-sdk/anthropic":"4.0.0-beta.67","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0-beta.7","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0-beta.49","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0-beta.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0-beta.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0-beta.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0-beta.0_1781713152917_0.8100020333305789","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.1":{"name":"ai-retry","version":"2.0.0-beta.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0-beta.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"bde371f279260ee22be1996182cb0e3f5e23cf7b","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0-beta.1.tgz","fileCount":32,"integrity":"sha512-GJtqAwOo6T8oA8WrBpidI7eMZUd6RMRBnn//SaOoRZw4+155q/X37NGJimKl5xzpHBaVR3b5YJLCZIQSQE3YNQ==","signatures":[{"sig":"MEUCIQCpP5J12Rf5o74e7Lh3jksYbAojxJZ1jQIRDK4sxH0cWQIgR6p2AGddt0ae1o+wxQtO/RC9+/d4343XYaQjhX7fuxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170147},"type":"module","_from":"file:ai-retry-2.0.0-beta.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/f9541acde10f2c104ab2f2b4fe7d961d/ai-retry-2.0.0-beta.1.tgz","_integrity":"sha512-GJtqAwOo6T8oA8WrBpidI7eMZUd6RMRBnn//SaOoRZw4+155q/X37NGJimKl5xzpHBaVR3b5YJLCZIQSQE3YNQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"7.0.0-beta.179","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0-beta.54","@ai-sdk/azure":"4.0.0-beta.76","@ai-sdk/google":"4.0.0-beta.82","@ai-sdk/openai":"4.0.0-beta.74","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"4.0.0-beta.110","@ai-sdk/provider":"4.0.0-beta.19","@ai-sdk/anthropic":"4.0.0-beta.67","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0-beta.7","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0-beta.49","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0-beta.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0-beta.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0-beta.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0-beta.1_1781715019272_0.16762347174843328","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.2":{"name":"ai-retry","version":"2.0.0-beta.2","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0-beta.2","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"9a7b813c11cce615e9efce6431a382e471d485d0","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0-beta.2.tgz","fileCount":32,"integrity":"sha512-Lbq3NFl92+TLuAcl/qCTsT0o3eqxCWr3WUlhewDG84TyCyx6ENeKRhuiULMV4LOBqHfshokVvmky1MoJyK2LRg==","signatures":[{"sig":"MEUCIQDyt6mcvW+0t7ccXCDg61KGM3e+BEKkQWaZVo04YNUmlwIgOpp1U2NDQO75C/wA3smVX6XlY1EBO7UN/U1NdqfF17o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169417},"type":"module","_from":"file:ai-retry-2.0.0-beta.2.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/3ee51019d3d043c3d12f5885f761dbc9/ai-retry-2.0.0-beta.2.tgz","_integrity":"sha512-Lbq3NFl92+TLuAcl/qCTsT0o3eqxCWr3WUlhewDG84TyCyx6ENeKRhuiULMV4LOBqHfshokVvmky1MoJyK2LRg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"7.0.0-beta.179","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0-beta.54","@ai-sdk/otel":"1.0.0-beta.128","@ai-sdk/azure":"4.0.0-beta.76","@ai-sdk/google":"4.0.0-beta.82","@ai-sdk/openai":"4.0.0-beta.74","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0-beta.110","@ai-sdk/provider":"4.0.0-beta.19","@ai-sdk/anthropic":"4.0.0-beta.67","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0-beta.7","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0-beta.49","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0-beta.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0-beta.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0-beta.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0-beta.2_1781876459594_0.7419387755680149","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.3":{"name":"ai-retry","version":"2.0.0-beta.3","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0-beta.3","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"9a6b4fd2554bd6d69144ffd7f2925801274c0d37","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0-beta.3.tgz","fileCount":32,"integrity":"sha512-dgQ3qLNtmI4WFjYiESlSg7kQqAbzekL4GBDB8lHzSwbwLaPY8FGRi4I3ihOZcLSwkEFm248JCenAJWBcc+FKJA==","signatures":[{"sig":"MEQCIFQLm+ddR5ysGrcblISXhdjtJFeLTAgHmSiVzx97T6VSAiBiOxXPhdcAQa61s/NvkZSlA8R1p9UIoB+Dp46FkXd1kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169417},"type":"module","_from":"file:ai-retry-2.0.0-beta.3.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/59c8a519a59306b769ed6ac77dbaf324/ai-retry-2.0.0-beta.3.tgz","_integrity":"sha512-dgQ3qLNtmI4WFjYiESlSg7kQqAbzekL4GBDB8lHzSwbwLaPY8FGRi4I3ihOZcLSwkEFm248JCenAJWBcc+FKJA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"7.0.0-beta.182","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0-beta.54","@ai-sdk/otel":"1.0.0-beta.128","@ai-sdk/azure":"4.0.0-beta.76","@ai-sdk/google":"4.0.0-beta.83","@ai-sdk/openai":"4.0.0-beta.74","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0-beta.110","@ai-sdk/provider":"4.0.0-beta.19","@ai-sdk/anthropic":"4.0.0-beta.67","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0-beta.7","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0-beta.49","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0-beta.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0-beta.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0-beta.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0-beta.3_1781876651359_0.7121810498678198","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.4":{"name":"ai-retry","version":"2.0.0-beta.4","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0-beta.4","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"9e908bc65f262dd73fb6b9f2514f7a303027cf63","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0-beta.4.tgz","fileCount":32,"integrity":"sha512-6Rj9lYo6QDLzZfcNbpiWa+YyMMIfhTknHpgZP/MU5Mw7VO7I9k7rFYaPXxW7LZQlaUi//4H8B9VJCnne7R10sg==","signatures":[{"sig":"MEYCIQDE5urROtSLLulv3X2m9sgQgLrxA5zqfPXn3saL+x2GFQIhAO4hxUF1lqq4JlXHVMKfUWWJq1puhIthEvgF1D31hH20","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169417},"type":"module","_from":"file:ai-retry-2.0.0-beta.4.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/614c66a3c5731171c1ff62d1d68ca1a7/ai-retry-2.0.0-beta.4.tgz","_integrity":"sha512-6Rj9lYo6QDLzZfcNbpiWa+YyMMIfhTknHpgZP/MU5Mw7VO7I9k7rFYaPXxW7LZQlaUi//4H8B9VJCnne7R10sg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"7.0.0-beta.182","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0-beta.54","@ai-sdk/otel":"1.0.0-beta.128","@ai-sdk/azure":"4.0.0-beta.76","@ai-sdk/google":"4.0.0-beta.83","@ai-sdk/openai":"4.0.0-beta.74","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0-beta.110","@ai-sdk/provider":"4.0.0-beta.19","@ai-sdk/anthropic":"4.0.0-beta.67","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0-beta.7","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0-beta.49","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0-beta.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0-beta.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0-beta.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0-beta.4_1781880802754_0.33974493660503446","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.5":{"name":"ai-retry","version":"2.0.0-beta.5","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0-beta.5","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"6c584c42bfe5361bcc535377cc538cd632cfc81e","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0-beta.5.tgz","fileCount":32,"integrity":"sha512-IrW+gT6VzJGRJI7Mf+dKtZxKaJhCNTUA9WGNRLR8Qu0jX4HQRlNLldwbEsI0JghVTS6pjT6Cl4ijdIZYMgG/KA==","signatures":[{"sig":"MEUCIHufsuHvqY1Zwy1+k8WlGqmPbqE3ej3flHfMUvFc82yuAiEAlilLgmUtCA12H65pYsG5uX/E9rW9XR/DPREVsQ6FVAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169306},"type":"module","_from":"file:ai-retry-2.0.0-beta.5.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/905ca70a5fec4bb3bd5851bb42841732/ai-retry-2.0.0-beta.5.tgz","_integrity":"sha512-IrW+gT6VzJGRJI7Mf+dKtZxKaJhCNTUA9WGNRLR8Qu0jX4HQRlNLldwbEsI0JghVTS6pjT6Cl4ijdIZYMgG/KA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ai":"7.0.0","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0","@ai-sdk/otel":"1.0.0","@ai-sdk/azure":"4.0.0","@ai-sdk/google":"4.0.0","@ai-sdk/openai":"4.0.0","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0","@ai-sdk/provider":"4.0.0","@ai-sdk/anthropic":"4.0.0","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0-beta.5_1782395670099_0.8789432991357016","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"ai-retry","version":"1.11.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@1.11.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"0d3d0536533bc670648bcf06161e32f876f94c86","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-1.11.1.tgz","fileCount":32,"integrity":"sha512-J/nffw5v1cISfNAvZQSW4v6p1BMsSqvsP0PpwjUsnumRRVLfW3N5wls9ASIhaZAx1faMdvhMi9qh2oUTxCMc2A==","signatures":[{"sig":"MEUCIQCkRheV2AC0Eo6T8jI6ov1VTPokx3Bnn9d1yrIdvX20SAIgdi64BVTTqUNJIMF+dmIaXIIQM90ntiWVaHFSO2e0bLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@1.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168966},"type":"module","_from":"file:ai-retry-1.11.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/912b8ce43925f4441a862b88f109ea7a/ai-retry-1.11.1.tgz","_integrity":"sha512-J/nffw5v1cISfNAvZQSW4v6p1BMsSqvsP0PpwjUsnumRRVLfW3N5wls9ASIhaZAx1faMdvhMi9qh2oUTxCMc2A==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"6.0.50","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"2.0.0","lint-staged":"^16.4.0","@ai-sdk/groq":"3.0.15","@ai-sdk/azure":"3.0.19","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"3.0.19","@langfuse/otel":"^5.3.0","@ai-sdk/gateway":"3.0.23","@ai-sdk/provider":"3.0.5","@ai-sdk/anthropic":"3.0.23","@langfuse/tracing":"^5.3.0","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"1.0.3","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"4.0.9","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"6.x","zod":"^4.0.0","@ai-sdk/provider":"^3.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^4.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_1.11.1_1782396716394_0.42317068691506554","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"ai-retry","version":"2.0.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.0.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"8420e1a9e0457a661e3dc24d23d76507ada6d4d1","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.0.0.tgz","fileCount":32,"integrity":"sha512-LOuBCkgrN03STdXHOSIjaJJDSMKko4RTUD87j00OYYZ1iWgEB1/RiuMHGhL+jB7hjK012T9esXrDfvNz6WT8VA==","signatures":[{"sig":"MEYCIQCNh7sQpt5fqbXNX9BxAZKSM46pl5R3xz55wU8q7QcZdwIhAJKXyx+vIlW59OyjbLKUZP1J65O9BNy5dM9J7HfiWIkP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169329},"type":"module","_from":"file:ai-retry-2.0.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/cb2b0947cee11f8946b536edad822dc7/ai-retry-2.0.0.tgz","_integrity":"sha512-LOuBCkgrN03STdXHOSIjaJJDSMKko4RTUD87j00OYYZ1iWgEB1/RiuMHGhL+jB7hjK012T9esXrDfvNz6WT8VA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.13.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.0","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.0.0-next.2","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0","@ai-sdk/otel":"1.0.0","@ai-sdk/azure":"4.0.0","@ai-sdk/google":"4.0.0","@ai-sdk/openai":"4.0.0","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0","@ai-sdk/provider":"4.0.0","@ai-sdk/anthropic":"4.0.0","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.0.0_1782404352791_0.5860400307416451","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"ai-retry","version":"2.1.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.1.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"85fd51c759cd8cab76d75e4e2426d757e63229b1","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.1.0.tgz","fileCount":32,"integrity":"sha512-mALlhQO8aKwMLiZOx07vzV03R/EuGR1HHzg5cLxPHi+tZeoRfCcXP7IXF9Hnnt0O4nAyO5psyMYeP8p3FBCbFw==","signatures":[{"sig":"MEUCIGPYYQEjlpEDfNDpioBAQYZbDbG80ySCLZ5fyWNwJ5dNAiEApuDf09v94pFScizC7PefLXARKfhDNAQOIvx1ne5MiAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172025},"type":"module","_from":"file:ai-retry-2.1.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/98797260c57442de2af4d7d0de1b8835/ai-retry-2.1.0.tgz","_integrity":"sha512-mALlhQO8aKwMLiZOx07vzV03R/EuGR1HHzg5cLxPHi+tZeoRfCcXP7IXF9Hnnt0O4nAyO5psyMYeP8p3FBCbFw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.16.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.0","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.0.0-next.2","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0","@ai-sdk/otel":"1.0.0","@ai-sdk/azure":"4.0.0","@ai-sdk/google":"4.0.0","@ai-sdk/openai":"4.0.0","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0","@ai-sdk/provider":"4.0.0","@ai-sdk/anthropic":"4.0.0","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.1.0_1784818714478_0.5985309748546082","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"ai-retry","version":"2.1.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.1.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"97699eeed8dd9bf747dcb2f0336fca27e1d05824","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.1.1.tgz","fileCount":32,"integrity":"sha512-9b1UqPgYiMtwR8uRrSJlBH+B2rQsANazCOSp19vt0mGRhChFK2btMPhQDpPzi+ElwNUTcdXWgHQpK5sHidWITw==","signatures":[{"sig":"MEQCIBVe7BPgowXrtDJVcY1ZH/Jp7d4DchStaBS1pFCJTpPoAiAhN81IDky9jh5hWT3z8S3j1lGbkaXZTOyyu1B9Qhipxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172797},"type":"module","_from":"file:ai-retry-2.1.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/18cec98050b687cef8c1206e30c2ecf7/ai-retry-2.1.1.tgz","_integrity":"sha512-9b1UqPgYiMtwR8uRrSJlBH+B2rQsANazCOSp19vt0mGRhChFK2btMPhQDpPzi+ElwNUTcdXWgHQpK5sHidWITw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.16.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.0","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.0.0-next.2","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.0","@ai-sdk/otel":"1.0.0","@ai-sdk/azure":"4.0.0","@ai-sdk/google":"4.0.0","@ai-sdk/openai":"4.0.0","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.0","@ai-sdk/provider":"4.0.0","@ai-sdk/anthropic":"4.0.0","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.0","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.1.1_1785139701204_0.9770218476848012","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"ai-retry","version":"2.2.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.2.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"54364cf744cdd2c2c5d1e125a2a73f186e398a75","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.2.0.tgz","fileCount":39,"integrity":"sha512-uGVnYX2zqrg0Xyj1BXzsElvy4RLpmMjhYDyrSZyoxJrtg2xUgjaTjQwfBPi8gwzyd7InCPIiRx0jF29ftRgAxA==","signatures":[{"sig":"MEQCIASGqx7Sabo2N9rZ6v0tSB4XhZfO95YGV4uVHWlVhcpPAiBnPQ20m0zrXAdGRNdh8pbuUdO0x82XJQtZmJdvVCyA2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202117},"type":"module","_from":"file:ai-retry-2.2.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/017a8a2f52d0b5925fc91c1aa520acdb/ai-retry-2.2.0.tgz","_integrity":"sha512-uGVnYX2zqrg0Xyj1BXzsElvy4RLpmMjhYDyrSZyoxJrtg2xUgjaTjQwfBPi8gwzyd7InCPIiRx0jF29ftRgAxA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.16.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.35","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.0.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.13","@ai-sdk/otel":"1.0.35","@ai-sdk/azure":"4.0.19","@ai-sdk/google":"4.0.22","@ai-sdk/openai":"4.0.18","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.27","@ai-sdk/provider":"4.0.3","@ai-sdk/anthropic":"4.0.18","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.12","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.2.0_1785150509823_0.3512502425984092","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"ai-retry","version":"2.2.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.2.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"c7feaad4c5ee22a255033f25cf2b559d8e260676","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.2.1.tgz","fileCount":39,"integrity":"sha512-ZvH38Nu+DScVoVm8oQQLkKaVN2EttD1gi7dToI8B4uOKO/PAdu2pvQlmT4Yy44mpYVzLcJ0ZqlYRMLfFkhA2Mw==","signatures":[{"sig":"MEQCIB6IBaOiZKE1EGAWp7zvJ3CrzNOBDjLLM0JnB8r5yZGXAiBemsWLQKvkCTfv/Zs/os5A2JxoovR6lXVeZomGgfSbHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203515},"type":"module","_from":"file:ai-retry-2.2.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/ed1df901be5b951f4a2a5a72195c64c7/ai-retry-2.2.1.tgz","_integrity":"sha512-ZvH38Nu+DScVoVm8oQQLkKaVN2EttD1gi7dToI8B4uOKO/PAdu2pvQlmT4Yy44mpYVzLcJ0ZqlYRMLfFkhA2Mw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.16.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.35","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.0.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.13","@ai-sdk/otel":"1.0.35","@ai-sdk/azure":"4.0.19","@ai-sdk/google":"4.0.22","@ai-sdk/openai":"4.0.18","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.27","@ai-sdk/provider":"4.0.3","@ai-sdk/anthropic":"4.0.18","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.12","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.2.1_1785163498266_0.18530527694718946","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"ai-retry","version":"2.3.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.3.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"751d132d01b5752e5294ae0a7293a7ca74a042c1","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.3.0.tgz","fileCount":39,"integrity":"sha512-xGFdoLOS+XR8wR0D6jAwh7cu33wPKmWuuU+d1znZi98bD3kCAYpDBKsrNdOS5kK0g24Akkb8ZRkAVq7fnrUZUg==","signatures":[{"sig":"MEUCIGCbF/hsmxg7AgAlSLIjEIQM/SMvbxSGTCjQYu80CkimAiEAyOUTUFY2uAxGsReEPDJhG0Y9bnOH+/2xtMXKEFGvKOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":216570},"type":"module","_from":"file:ai-retry-2.3.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/image-model/index.mjs","./package.json":"./package.json","./language-model":"./dist/language-model/index.mjs","./embedding-model":"./dist/embedding-model/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./image-model/conditions":"./dist/image-model/conditions/index.mjs","./language-model/conditions":"./dist/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/0916bc2a5f0c6e214baa28bda5c7c615/ai-retry-2.3.0.tgz","_integrity":"sha512-xGFdoLOS+XR8wR0D6jAwh7cu33wPKmWuuU+d1znZi98bD3kCAYpDBKsrNdOS5kK0g24Akkb8ZRkAVq7fnrUZUg==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.16.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.35","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.0.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.13","@ai-sdk/otel":"1.0.35","@ai-sdk/azure":"4.0.19","@ai-sdk/google":"4.0.22","@ai-sdk/openai":"4.0.18","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.27","@ai-sdk/provider":"4.0.3","@ai-sdk/anthropic":"4.0.18","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.12","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.3.0_1785427407215_0.7881152926763602","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"ai-retry","version":"2.4.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.4.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"c725121dcf0ddb99df5696cde31a6497ea97a5e0","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.4.0.tgz","fileCount":69,"integrity":"sha512-VExRdpXDO+7XFXB3HkPYz0qxLwJqPltORUbFkU2C/FFuFHk3ZQ/gJVegSa7O11iwCkDOimcvhik7xmdPnwGkSQ==","signatures":[{"sig":"MEQCIE/sYUe0ANNz/aT3tlTkumvnIg4nYZVrgYT0YtbjJBJWAiBXh3SvD6xYkR1CpusSQVoLscKuW8Jqzy0Fo7xIHpv1xQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":336308},"type":"module","_from":"file:ai-retry-2.4.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./embed":"./dist/call/embed/index.mjs","./embed-many":"./dist/call/embed-many/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/model/image-model/index.mjs","./stream-text":"./dist/call/stream-text/index.mjs","./package.json":"./package.json","./generate-text":"./dist/call/generate-text/index.mjs","./generate-image":"./dist/call/generate-image/index.mjs","./language-model":"./dist/model/language-model/index.mjs","./embedding-model":"./dist/model/embedding-model/index.mjs","./embed/conditions":"./dist/call/embed/conditions/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./embed-many/conditions":"./dist/call/embed-many/conditions/index.mjs","./image-model/conditions":"./dist/model/image-model/conditions/index.mjs","./stream-text/conditions":"./dist/call/stream-text/conditions/index.mjs","./generate-text/conditions":"./dist/call/generate-text/conditions/index.mjs","./generate-image/conditions":"./dist/call/generate-image/conditions/index.mjs","./language-model/conditions":"./dist/model/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/model/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/33a47c9c65d4f8538242cf3de82b7f4a/ai-retry-2.4.0.tgz","_integrity":"sha512-VExRdpXDO+7XFXB3HkPYz0qxLwJqPltORUbFkU2C/FFuFHk3ZQ/gJVegSa7O11iwCkDOimcvhik7xmdPnwGkSQ==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.17.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.35","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.3.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.13","@ai-sdk/otel":"1.0.35","@ai-sdk/azure":"4.0.19","@ai-sdk/google":"4.0.22","@ai-sdk/openai":"4.0.18","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.27","@ai-sdk/provider":"4.0.3","@ai-sdk/anthropic":"4.0.18","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.0","@vitest/coverage-v8":"4.0.18","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.12","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.4.0_1787214600991_0.22044126107907092","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"ai-retry","version":"2.4.1","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.4.1","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"cfc580f67f88870e3a36a0c2e2601e6d7792fbf0","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.4.1.tgz","fileCount":69,"integrity":"sha512-hJnXrYc2/bZrUHoI6ftJyr50IkEyoijSMjoDqWeE7LST86WujImPoBOoNG9vT9xgu6fjufOv2T9pn2rl+z557g==","signatures":[{"sig":"MEYCIQDdgfY1O318ukY7jpUtJlaI1FajsOWCEtkNLXppipPNCQIhAOq1Eu2Q7EuvzsF+buc1SanD2S8iNYMbMfGWCkHF0gA0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQClDSCJfCKy1F2PM5CNiktbFsZFJdK5fLjBOI3yQAnpbQIgMgb0Vug10PgTJ+NxxRToIaePBC3BJSvOpB77EPDlnVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342947},"type":"module","_from":"file:ai-retry-2.4.1.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./embed":"./dist/call/embed/index.mjs","./embed-many":"./dist/call/embed-many/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/model/image-model/index.mjs","./stream-text":"./dist/call/stream-text/index.mjs","./package.json":"./package.json","./generate-text":"./dist/call/generate-text/index.mjs","./generate-image":"./dist/call/generate-image/index.mjs","./language-model":"./dist/model/language-model/index.mjs","./embedding-model":"./dist/model/embedding-model/index.mjs","./embed/conditions":"./dist/call/embed/conditions/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./embed-many/conditions":"./dist/call/embed-many/conditions/index.mjs","./image-model/conditions":"./dist/model/image-model/conditions/index.mjs","./stream-text/conditions":"./dist/call/stream-text/conditions/index.mjs","./generate-text/conditions":"./dist/call/generate-text/conditions/index.mjs","./generate-image/conditions":"./dist/call/generate-image/conditions/index.mjs","./language-model/conditions":"./dist/model/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/model/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/d5ced6a0952024c70204095c4eefdd3f/ai-retry-2.4.1.tgz","_integrity":"sha512-hJnXrYc2/bZrUHoI6ftJyr50IkEyoijSMjoDqWeE7LST86WujImPoBOoNG9vT9xgu6fjufOv2T9pn2rl+z557g==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.19.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.122","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.3.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.52","@ai-sdk/otel":"1.0.122","@ai-sdk/azure":"4.0.85","@ai-sdk/google":"4.0.85","@ai-sdk/openai":"4.0.81","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.100","@ai-sdk/provider":"4.0.19","@ai-sdk/anthropic":"4.0.68","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.2","@vitest/coverage-v8":"4.0.18","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.51","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.4.1_1790693417633_0.1200722613133145","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"ai-retry","version":"2.5.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.5.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"7465cdc24bd0df53ff6096724b16c8a6a4d395b7","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.5.0.tgz","fileCount":69,"integrity":"sha512-T/dpAJTJSIkBDg0+ho3BfJvo7x1snLkwIjYaEc264wMYDGwBeWkuixj/AiX05QN4ufhDUT0dLJw7E93u+dGhJA==","signatures":[{"sig":"MEUCIHj463+hTUaI9PdIOd/wDRu78PrqnPA2l9x2o447YT4SAiEAhCtpcRTvFpFm1JQ9XfHk7vt3YVEAqgcXF0VgsAgHZqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGsv9NqAJzXzsT7gt3CPgAGxAhDqkUD54J6EQnpwBq8rAiBxMYx/juuJOUeCw0kyxeZ3Jvtbdo22zZvsipVmtGCpbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":349391},"type":"module","_from":"file:ai-retry-2.5.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./embed":"./dist/call/embed/index.mjs","./embed-many":"./dist/call/embed-many/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/model/image-model/index.mjs","./stream-text":"./dist/call/stream-text/index.mjs","./package.json":"./package.json","./generate-text":"./dist/call/generate-text/index.mjs","./generate-image":"./dist/call/generate-image/index.mjs","./language-model":"./dist/model/language-model/index.mjs","./embedding-model":"./dist/model/embedding-model/index.mjs","./embed/conditions":"./dist/call/embed/conditions/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./embed-many/conditions":"./dist/call/embed-many/conditions/index.mjs","./image-model/conditions":"./dist/model/image-model/conditions/index.mjs","./stream-text/conditions":"./dist/call/stream-text/conditions/index.mjs","./generate-text/conditions":"./dist/call/generate-text/conditions/index.mjs","./generate-image/conditions":"./dist/call/generate-image/conditions/index.mjs","./language-model/conditions":"./dist/model/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/model/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/552c429cb0a12551aaebb540226483a8/ai-retry-2.5.0.tgz","_integrity":"sha512-T/dpAJTJSIkBDg0+ho3BfJvo7x1snLkwIjYaEc264wMYDGwBeWkuixj/AiX05QN4ufhDUT0dLJw7E93u+dGhJA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.19.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.122","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.3.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.52","@ai-sdk/otel":"1.0.122","@ai-sdk/azure":"4.0.85","@ai-sdk/google":"4.0.85","@ai-sdk/openai":"4.0.81","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.100","@ai-sdk/provider":"4.0.19","@ai-sdk/anthropic":"4.0.68","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.2","@vitest/coverage-v8":"4.0.18","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.51","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.5.0_1790699109774_0.9088685942172261","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"ai-retry","version":"2.6.0","keywords":["ai","ai-sdk","fallback","retry"],"author":{"name":"Chris Cook"},"license":"MIT","_id":"ai-retry@2.6.0","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"homepage":"https://github.com/zirkelc/ai-retry#readme","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"860095df2c1e33de010ff2d9e5bafc90d14637ad","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.6.0.tgz","fileCount":69,"integrity":"sha512-Sg1rDa8f5dZugh8aUEf+CC3Edoq9TV8m/YUqdGoGljcXAn3bu3wDK5HALZEEG9rZBi8xkTe93aFlQ4g8yaEINA==","signatures":[{"sig":"MEUCIQCL5KcEBChD3kX5QgIkruNzHMzUkunk58nBOqdBMg5VUgIgV/WgNibbCPSUYugqztw6mYTu1nGAcq42Gdy3JuKMHZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC//B3AM8OViUVf8INAwwW535Z4nbUWeMIlWgdFe6n29QIgCsTJUfihu0ff2Uq87TPdDpfXWBGrDo8lgcM9Jc2Nxmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":353791},"type":"module","_from":"file:ai-retry-2.6.0.tgz","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./embed":"./dist/call/embed/index.mjs","./embed-many":"./dist/call/embed-many/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/model/image-model/index.mjs","./stream-text":"./dist/call/stream-text/index.mjs","./package.json":"./package.json","./generate-text":"./dist/call/generate-text/index.mjs","./generate-image":"./dist/call/generate-image/index.mjs","./language-model":"./dist/model/language-model/index.mjs","./embedding-model":"./dist/model/embedding-model/index.mjs","./embed/conditions":"./dist/call/embed/conditions/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./embed-many/conditions":"./dist/call/embed-many/conditions/index.mjs","./image-model/conditions":"./dist/model/image-model/conditions/index.mjs","./stream-text/conditions":"./dist/call/stream-text/conditions/index.mjs","./generate-text/conditions":"./dist/call/generate-text/conditions/index.mjs","./generate-image/conditions":"./dist/call/generate-image/conditions/index.mjs","./language-model/conditions":"./dist/model/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/model/embedding-model/conditions/index.mjs"},"scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"_resolved":"/tmp/c10cdebba87d0e207cfbaa7c5220f487/ai-retry-2.6.0.tgz","_integrity":"sha512-Sg1rDa8f5dZugh8aUEf+CC3Edoq9TV8m/YUqdGoGljcXAn3bu3wDK5HALZEEG9rZBi8xkTe93aFlQ4g8yaEINA==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.19.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.122","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.3.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.52","@ai-sdk/otel":"1.0.122","@ai-sdk/azure":"4.0.85","@ai-sdk/google":"4.0.85","@ai-sdk/openai":"4.0.81","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.100","@ai-sdk/provider":"4.0.19","@ai-sdk/anthropic":"4.0.68","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.2","@vitest/coverage-v8":"4.0.18","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.51","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai-retry_2.6.0_1790774586488_0.04101435583080004","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"_id":"ai-retry@2.7.0","bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"dist":{"shasum":"7224c2b8ce3e835f29d8191fc84fce83b66d37ec","tarball":"https://registry.npmjs.org/ai-retry/-/ai-retry-2.7.0.tgz","fileCount":69,"integrity":"sha512-tF/7ANqAv+0YfOSInTeBd2pdOf1cqTpVBXdY6FAu53Oq+/sPBD+CXB9Owfz9N7pR7zcmpF+KzvHMEZojj9B+uw==","signatures":[{"sig":"MEUCIQCHzps+3PmHNF8oJIalWWkE8PyOPEfQUoLr7xELkw0Q1gIgZxtpopx+/IP8sBBPhLd5vbA+ZFWJ4Er8rioovEpzOqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCtaiYO7wLXvqxC4MYBJK3SHhQiSMvs/GsqNnJfMB+MxAIhAIsa1/1Gj8EMLfV6w/wBSCv+NSlbtzVyks6WGhA5ROWv"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/ai-retry@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":355264},"name":"ai-retry","type":"module","_from":"file:ai-retry-2.7.0.tgz","types":"./dist/index.d.mts","author":{"name":"Chris Cook"},"exports":{".":"./dist/index.mjs","./embed":"./dist/call/embed/index.mjs","./embed-many":"./dist/call/embed-many/index.mjs","./retryables":"./dist/retryables/index.mjs","./image-model":"./dist/model/image-model/index.mjs","./stream-text":"./dist/call/stream-text/index.mjs","./package.json":"./package.json","./generate-text":"./dist/call/generate-text/index.mjs","./generate-image":"./dist/call/generate-image/index.mjs","./language-model":"./dist/model/language-model/index.mjs","./embedding-model":"./dist/model/embedding-model/index.mjs","./embed/conditions":"./dist/call/embed/conditions/index.mjs","./experimental/call":"./dist/experimental/call/index.mjs","./experimental/stream":"./dist/experimental/stream/index.mjs","./embed-many/conditions":"./dist/call/embed-many/conditions/index.mjs","./image-model/conditions":"./dist/model/image-model/conditions/index.mjs","./stream-text/conditions":"./dist/call/stream-text/conditions/index.mjs","./generate-text/conditions":"./dist/call/generate-text/conditions/index.mjs","./generate-image/conditions":"./dist/call/generate-image/conditions/index.mjs","./language-model/conditions":"./dist/model/language-model/conditions/index.mjs","./embedding-model/conditions":"./dist/model/embedding-model/conditions/index.mjs"},"license":"MIT","scripts":{"lint":"oxlint --fix","test":"vitest","build":"tsdown","format":"oxfmt --write","lint:ci":"oxlint","format:ci":"oxfmt --check","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"version":"2.7.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f5d727a6-30fb-4586-8dfb-72df13b4317b"}},"homepage":"https://github.com/zirkelc/ai-retry#readme","keywords":["ai","ai-sdk","fallback","retry"],"_resolved":"/tmp/ed10cc6a8d1b9f96638be01fd9af216f/ai-retry-2.7.0.tgz","_integrity":"sha512-tF/7ANqAv+0YfOSInTeBd2pdOf1cqTpVBXdY6FAu53Oq+/sPBD+CXB9Owfz9N7pR7zcmpF+KzvHMEZojj9B+uw==","repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"_npmVersion":"11.19.0","description":"Retry and fallback mechanisms for AI SDK","directories":{},"lint-staged":{"*.{json,jsonc}":["pnpm format"],"*.{js,ts,tsx,jsx}":["pnpm lint","pnpm format"]},"maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ai":"7.0.122","msw":"^2.12.7","tsx":"^4.21.0","zod":"^4.3.6","husky":"^9.1.7","oxfmt":"^0.45.0","oxlint":"^1.60.0","tsdown":"^0.20.1","vitest":"^4.0.18","publint":"^0.3.17","pkg-pr-new":"^0.0.62","typescript":"^5.9.3","@types/node":"^25.0.10","ai-test-kit":"3.3.1","lint-staged":"^16.4.0","@ai-sdk/groq":"4.0.52","@ai-sdk/otel":"1.0.122","@ai-sdk/azure":"4.0.85","@ai-sdk/google":"4.0.85","@ai-sdk/openai":"4.0.81","@langfuse/otel":"^5.5.3","@ai-sdk/gateway":"4.0.100","@ai-sdk/provider":"4.0.19","@ai-sdk/anthropic":"4.0.68","@langfuse/tracing":"^5.5.3","@opentelemetry/api":"1.9.0","@ai-sdk/test-server":"2.0.2","@vitest/coverage-v8":"4.0.18","@arethetypeswrong/cli":"^0.18.2","@ai-sdk/provider-utils":"5.0.51","@langfuse/vercel-ai-sdk":"5.5.0-beta.3","@opentelemetry/sdk-node":"^0.218.0","@total-typescript/tsconfig":"^1.0.4","@opentelemetry/sdk-trace-base":"^2.7.1","@opentelemetry/context-async-hooks":"^2.7.1"},"peerDependencies":{"ai":"^7.0.0","zod":"^4.0.0","@ai-sdk/provider":"^4.0.0","@opentelemetry/api":"^1.9.0","@ai-sdk/provider-utils":"^5.0.0"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-retry_2.7.0_1790788861955_0.338880053818885"}}},"time":{"created":"2025-09-11T08:16:40.441Z","modified":"2026-09-30T17:21:02.441Z","0.0.0":"2025-09-11T08:16:40.633Z","0.0.1-alpha.2":"2025-09-20T05:27:49.740Z","0.0.1-alpha.3":"2025-09-22T07:55:07.359Z","0.0.1-alpha.5":"2025-09-23T13:01:53.044Z","0.0.1":"2025-09-24T11:01:28.084Z","0.0.2":"2025-09-24T16:54:38.275Z","0.0.3":"2025-09-29T08:55:52.498Z","0.1.0":"2025-10-02T12:01:26.592Z","0.1.1":"2025-10-03T09:44:26.093Z","0.2.0":"2025-10-06T05:51:36.037Z","0.3.0":"2025-10-15T07:18:59.188Z","0.4.0":"2025-10-16T09:51:53.861Z","0.4.1":"2025-10-18T15:05:44.059Z","0.5.0":"2025-10-21T04:16:41.326Z","0.5.1":"2025-10-23T06:02:49.678Z","0.6.0":"2025-10-23T16:40:04.028Z","0.7.0":"2025-10-25T05:56:37.819Z","0.8.0":"2025-11-08T15:42:06.715Z","0.9.0":"2025-11-24T08:20:02.512Z","0.10.0":"2025-11-24T09:52:03.237Z","0.10.1":"2025-11-24T11:33:56.445Z","1.0.0-beta.0":"2025-11-25T16:51:05.883Z","0.10.2":"2025-11-26T06:34:00.638Z","0.10.3":"2025-11-26T06:39:25.417Z","1.0.0-beta.1":"2025-11-28T13:37:20.353Z","0.11.0":"2025-11-30T05:32:45.987Z","0.12.0":"2025-12-10T06:39:16.183Z","1.0.0-beta.2":"2025-12-10T07:23:06.495Z","1.0.0-beta.3":"2025-12-10T07:29:29.975Z","1.0.0":"2025-12-23T06:20:44.980Z","1.0.1":"2025-12-23T06:44:39.758Z","1.0.2":"2026-01-12T17:48:00.504Z","1.1.0":"2026-01-27T08:37:24.409Z","1.2.0":"2026-01-28T10:08:42.812Z","1.3.0":"2026-03-02T08:25:01.905Z","1.3.1":"2026-04-01T07:03:19.998Z","1.4.0":"2026-04-01T07:17:57.416Z","1.5.0":"2026-04-14T11:31:00.646Z","1.6.0":"2026-04-28T08:16:43.662Z","1.6.1":"2026-05-04T08:32:57.476Z","1.7.0":"2026-05-07T14:19:53.881Z","1.7.1":"2026-05-08T07:23:38.688Z","1.7.2":"2026-05-11T11:14:01.162Z","1.7.3":"2026-05-11T11:35:03.544Z","1.7.4":"2026-05-18T08:56:18.217Z","1.8.0":"2026-05-26T07:31:18.298Z","1.9.0":"2026-05-27T08:29:52.319Z","1.9.1":"2026-06-02T15:31:40.943Z","1.10.0":"2026-06-08T11:59:50.086Z","1.11.0":"2026-06-17T13:58:34.814Z","2.0.0-beta.0":"2026-06-17T16:19:13.067Z","2.0.0-beta.1":"2026-06-17T16:50:19.405Z","2.0.0-beta.2":"2026-06-19T13:40:59.729Z","2.0.0-beta.3":"2026-06-19T13:44:11.494Z","2.0.0-beta.4":"2026-06-19T14:53:22.890Z","2.0.0-beta.5":"2026-06-25T13:54:30.253Z","1.11.1":"2026-06-25T14:11:56.525Z","2.0.0":"2026-06-25T16:19:13.005Z","2.1.0":"2026-07-23T14:58:34.620Z","2.1.1":"2026-07-27T08:08:21.369Z","2.2.0":"2026-07-27T11:08:29.961Z","2.2.1":"2026-07-27T14:44:58.415Z","2.3.0":"2026-07-30T16:03:27.381Z","2.4.0":"2026-08-20T08:30:01.143Z","2.4.1":"2026-09-29T14:50:17.723Z","2.5.0":"2026-09-29T16:25:09.858Z","2.6.0":"2026-09-30T13:23:06.600Z","2.7.0":"2026-09-30T17:21:02.135Z"},"bugs":{"url":"https://github.com/zirkelc/ai-retry/issues"},"author":{"name":"Chris Cook"},"license":"MIT","homepage":"https://github.com/zirkelc/ai-retry#readme","keywords":["ai","ai-sdk","fallback","retry"],"repository":{"url":"git+https://github.com/zirkelc/ai-retry.git","type":"git"},"description":"Retry and fallback mechanisms for AI SDK","maintainers":[{"name":"chriszirkel","email":"chris.zirkel@gmail.com"}],"readme":"<div align='center'>\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/logo-dark.png\" />\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"assets/logo-light.png\" />\n  <img src=\"assets/logo-light.png\" alt=\"ai-retry logo\" width=\"320\" />\n</picture>\n\n<p align=\"center\">Retries and fallbacks for the AI SDK</p>\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/ai-retry\" alt=\"ai-retry\"><img src=\"https://img.shields.io/npm/dt/ai-retry?label=ai-retry\"></a> <a href=\"https://github.com/zirkelc/ai-retry/actions/workflows/ci.yml\" alt=\"CI\"><img src=\"https://img.shields.io/github/actions/workflow/status/zirkelc/ai-retry/ci.yml?branch=main\"></a>\n</p>\n\n</div>\n\nAutomatically handle API failures, content filtering, timeouts and other errors by switching between different AI models and providers.\n\n`ai-retry` wraps a base model with a list of typed retry **conditions**. When a request fails with an error, or the response is not satisfying, it walks the conditions top-down to find a suitable fallback. It tracks which models have been tried and how many attempts have been made to prevent infinite loops.\n\nTwo retry shapes are supported:\n\n- **Error-based**: the model throws (timeouts, rate limits, API errors).\n- **Result-based**: the model returns a successful response that still needs retrying (content filtering, schema mismatch, etc.).\n\n### Installation\n\n> [!NOTE]\n> Version compatibility:\n>\n> - Use [`ai-retry@0.x`](https://github.com/zirkelc/ai-retry/tree/v0.x) for AI SDK v5\n> - Use [`ai-retry@1.x`](https://github.com/zirkelc/ai-retry/tree/v1.x) for AI SDK v6\n> - Use [`ai-retry@2.x`](https://github.com/zirkelc/ai-retry/tree/v2.x) for AI SDK v7\n\n```bash\nnpm install ai-retry@1 # for AI SDK v6\nnpm install ai-retry@2 # for AI SDK v7\n```\n\n### Usage\n\n> [!NOTE]\n> **The condition API is the recommended way to configure retries.** Existing code keeps working:\n>\n> - The root `createRetryable` export and the function-style retryables (`contentFilterTriggered`, `requestTimeout`, …) are **deprecated but still functional**. Prefer `createRetryableModel` from `ai-retry/<family>-model` — it is typed for that family and resolves gateway strings for it.\n>\n> See the [migration guide](./MIGRATION.md) to move existing code to the condition API.\n\nCreate a retryable model with a base model and a list of conditions plus the action to take when a condition matches.\n\n```typescript\nimport { anthropic } from '@ai-sdk/anthropic';\nimport { openai } from '@ai-sdk/openai';\nimport { generateText } from 'ai';\nimport {\n  createRetryableModel,\n  error,\n  finishReason,\n  httpStatus,\n} from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o'),\n  retries: [\n    // Fall back to a different model on HTTP 529 or any \"overloaded\" message\n    httpStatus(529, 'overloaded').switch({\n      model: anthropic('claude-sonnet-4-0'),\n    }),\n\n    // Fall back when the response was content-filtered\n    finishReason('content-filter').switch({ model: openai('gpt-4o-mini') }),\n\n    // Retry the same model with exponential backoff on retryable errors\n    error.isRetryable(true).retry({ delay: 1_000, backoffFactor: 2 }),\n  ],\n});\n\nconst result = await generateText({\n  model: retryableModel,\n  prompt: 'Hello world!',\n  // Let ai-retry own retries; see \"Max retries\" below\n  maxRetries: 0,\n});\n\nconsole.log(result.text);\n```\n\nThis also works with embedding models and image models, each through their own entry point:\n\n```typescript\nimport { openai } from '@ai-sdk/openai';\nimport { embed } from 'ai';\nimport { createRetryableModel, httpStatus } from 'ai-retry/embedding-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai.textEmbedding('text-embedding-3-large'),\n  retries: [\n    httpStatus(529).switch({\n      model: openai.textEmbedding('text-embedding-3-small'),\n    }),\n  ],\n});\n\nconst result = await embed({ model: retryableModel, value: 'Hello world!' });\n```\n\n```typescript\nimport { google } from '@ai-sdk/google';\nimport { openai } from '@ai-sdk/openai';\nimport { generateImage } from 'ai';\nimport { createRetryableModel, noImage } from 'ai-retry/image-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai.image('dall-e-3'),\n  retries: [\n    noImage().switch({ model: google.image('gemini-3-pro-image-preview') }),\n  ],\n});\n\nconst result = await generateImage({\n  model: retryableModel,\n  prompt: 'A sunset over mountains',\n});\n```\n\n#### Entry points\n\nPick the entry point that matches the model you pass to `createRetryableModel`. Each module exposes the helpers that make sense for that model family already typed for it, so no manual type annotations are needed.\n\n| Entry point                | For models passed to                                           |\n| -------------------------- | -------------------------------------------------------------- |\n| `ai-retry/language-model`  | `generateText`, `generateObject`, `streamText`, `streamObject` |\n| `ai-retry/embedding-model` | `embed`, `embedMany`                                           |\n| `ai-retry/image-model`     | `generateImage`                                                |\n\n```typescript\nimport { createRetryableModel } from 'ai-retry/language-model';\nimport { createRetryableModel } from 'ai-retry/image-model';\nimport { createRetryableModel } from 'ai-retry/embedding-model';\n```\n\nEach entry point re-exports `createRetryableModel` plus every condition for that family. The condition helpers can also be imported from the dedicated `/conditions` subpath:\n\n```typescript\nimport {\n  error,\n  httpStatus,\n  finishReason,\n} from 'ai-retry/language-model/conditions';\n// or\nimport * as conditions from 'ai-retry/language-model/conditions';\n```\n\n#### Vercel AI Gateway\n\nYou can pass a model as a string and it will be resolved through the default `gateway` [provider instance](https://ai-sdk.dev/providers/ai-sdk-providers/ai-gateway#provider-instance) from the AI SDK. Each entry point resolves strings to its own model family, so the string is typed against that family's gateway model ids.\n\n```typescript\nimport { gateway } from 'ai';\nimport { createRetryableModel } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: 'openai/gpt-5',\n  retries: ['anthropic/claude-sonnet-4'],\n});\n\n// Is the same as:\nconst retryableModel2 = createRetryableModel({\n  model: gateway('openai/gpt-5'),\n  retries: [gateway('anthropic/claude-sonnet-4')],\n});\n```\n\nEmbedding and image entry points accept gateway strings too, resolved against their respective families:\n\n```typescript\nimport { createRetryableModel } from 'ai-retry/embedding-model';\n\nconst retryableEmbedding = createRetryableModel({\n  model: 'openai/text-embedding-3-large',\n  retries: ['openai/text-embedding-3-small'],\n});\n```\n\n```typescript\nimport { createRetryableModel } from 'ai-retry/image-model';\n\nconst retryableImage = createRetryableModel({\n  model: 'openai/gpt-image-1',\n  retries: ['openai/gpt-image-1-mini'],\n});\n```\n\n### Retries\n\nThe `retries` array holds the things `ai-retry` tries, in order, when a request fails or a result needs retrying. There are two kinds:\n\n- **Fallbacks** are model instances (or gateway strings). They always match and are used as plain fallbacks.\n- **Conditions** are typed predicates produced by helpers like `error()` or `httpStatus()` and finalized with a `.switch()` or `.retry()` action. They only fire when their predicate matches.\n\nYou can think of `retries` as a big `if-else` chain — each condition is an `if` branch matching some error/result, and each fallback is an `else` branch matching anything left over. Order matters: the array is evaluated top-down until one matches.\n\n```typescript\nimport { anthropic } from '@ai-sdk/anthropic';\nimport { azure } from '@ai-sdk/azure';\nimport { openai } from '@ai-sdk/openai';\nimport {\n  createRetryableModel,\n  error,\n  httpStatus,\n} from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4'),\n  retries: [\n    // Condition: match HTTP 429 (rate limit)\n    httpStatus(429).switch({ model: azure('gpt-4-mini') }),\n\n    // Condition: match \"overloaded\" in the error message\n    error.message('overloaded').switch({ model: azure('gpt-4-mini') }),\n\n    // Fallback: switch to Anthropic for anything else\n    anthropic('claude-3-haiku-20240307'),\n    // Same as:\n    // { model: anthropic('claude-3-haiku-20240307'), maxAttempts: 1 }\n  ],\n});\n```\n\n#### Fallbacks\n\nA fallback is a plain model instance (or gateway string) in `retries`. It always matches, so it acts as a catch-all: when no earlier condition fired, the next fallback model is tried. Each fallback is attempted once by default; use the object form to pass options like `maxAttempts`.\n\n```typescript\nimport { anthropic } from '@ai-sdk/anthropic';\nimport { openai } from '@ai-sdk/openai';\nimport { createRetryableModel } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o'),\n  retries: [\n    openai('gpt-4o-mini'), // first fallback\n    anthropic('claude-3-haiku-20240307'), // second fallback\n\n    // Object form to pass options:\n    { model: anthropic('claude-3-haiku-20240307'), maxAttempts: 2 },\n  ],\n});\n```\n\nFallbacks are tried in order. Once all of them are exhausted, a `RetryError` is thrown (see [All retries failed](#all-retries-failed)).\n\n#### Conditions\n\nA `Condition` is a typed predicate over a retry context. The library ships two **low-level** builders (`error()` and `result()`) plus **high-level** helpers built on top of them. Every condition is finalized with one of two terminal actions, `.switch()` or `.retry()`, which turn it into a retryable.\n\n##### Universal conditions\n\nThese are available from all three entry points (`language-model`, `embedding-model`, `image-model`).\n\n| Helper                          | Kind       | Matches when                                                                    |\n| ------------------------------- | ---------- | ------------------------------------------------------------------------------- |\n| `error(predicate)`              | low-level  | The current attempt failed and `predicate(err, ctx)` returns true               |\n| `error.isInstance(cls)`         | low-level  | The error is an instance of `cls` (prefers `cls.isInstance`, else `instanceof`) |\n| `error.isRetryable(flag)`       | low-level  | `APICallError.isRetryable === flag` (default `true`)                            |\n| `error.statusCode(...patterns)` | low-level  | Numbers match the status code exactly; regex matches the stringified code       |\n| `error.message(...patterns)`    | low-level  | Substring (case-insensitive) or regex match against the error message           |\n| `error.isTimeout()`             | low-level  | `Error.name === 'TimeoutError'` (`AbortSignal.timeout()` fired)                 |\n| `error.isAbort()`               | low-level  | `Error.name === 'AbortError'` (manual `controller.abort()`)                     |\n| `httpStatus(...patterns)`       | high-level | Numbers match the status code; strings match the message; regex matches either  |\n| `timeout()`                     | high-level | Alias for `error.isTimeout()`                                                   |\n| `aborted()`                     | high-level | Alias for `error.isAbort()`                                                     |\n\n###### `error(predicate)`\n\nTakes any predicate over the failed attempt's error. Its namespace bundles the common matchers: `isInstance` (matches an error class), `isRetryable` (defaults to `true`), `statusCode` (numbers or regex), `message` (case-insensitive substring or regex), and `isTimeout` / `isAbort` (match `AbortSignal.timeout()` firing vs a manual `controller.abort()`). The pattern matchers accept any number of patterns and match if any matches.\n\n```typescript\nimport { APICallError } from 'ai';\nimport { error } from 'ai-retry/language-model';\n\nerror((e) => APICallError.isInstance(e) && e.statusCode === 418).switch({\n  model: fallback,\n});\n\nerror.isInstance(APICallError).switch({ model: fallback }); // AI SDK marker check\nerror.isInstance(TypeError).switch({ model: fallback }); // plain instanceof\n\nerror.isRetryable().switch({ model: fallback }); // defaults to true\nerror.isRetryable(false).switch({ model: fallback });\n\nerror.statusCode(503, 529).switch({ model: fallback });\nerror.statusCode(/^5\\d\\d$/).switch({ model: fallback }); // any 5xx\n\nerror.message('overloaded').switch({ model: fallback }); // substring\nerror.message(/rate.?limit/i).switch({ model: fallback }); // regex\n\nerror.isTimeout().switch({ model: fallback }); // AbortSignal.timeout() fired\nerror.isAbort().switch({ model: fallback }); // manual controller.abort()\n```\n\n###### `httpStatus(...patterns)`\n\nMatches an `APICallError` by status code (numbers), message substring (strings), or either (regex). Mix any combination in one call.\n\n```typescript\nimport { httpStatus } from 'ai-retry/language-model';\n\nhttpStatus(429).switch({ model: fallback }); // status code\nhttpStatus(529, 'overloaded').switch({ model: fallback }); // status or message\nhttpStatus(/^5\\d\\d$/).switch({ model: fallback }); // any 5xx\n```\n\n###### `timeout()`\n\nAlias for `error.isTimeout()` — matches `AbortSignal.timeout()` firing (`Error.name === 'TimeoutError'`); pass a fresh `timeout` to the action so the fallback gets its own deadline.\n\n```typescript\nimport { timeout } from 'ai-retry/language-model';\n\ntimeout().switch({ model: fallback, timeout: 30_000 });\n```\n\n###### `aborted()`\n\nAlias for `error.isAbort()` — matches a manual `controller.abort()` (`Error.name === 'AbortError'`).\n\n```typescript\nimport { aborted } from 'ai-retry/language-model';\n\naborted().switch({ model: fallback });\n```\n\nEach high-level helper is a thin wrapper around the low-level ones. For example, `httpStatus(...)` composes `error.statusCode(...)` with `error.message(...)`, and `timeout()` / `aborted()` are aliases for `error.isTimeout()` / `error.isAbort()`.\n\n##### Language model conditions\n\nOnly available from `ai-retry/language-model`. Result-based conditions inspect a successful response (see [Streaming](#streaming) for how they behave on streams).\n\n| Helper                            | Kind       | Matches when                                                          |\n| --------------------------------- | ---------- | --------------------------------------------------------------------- |\n| `result(predicate)`               | low-level  | The current attempt succeeded and `predicate(res, ctx)` returns true  |\n| `result.finishReason(...reasons)` | low-level  | The result's `finishReason.unified` matches one of the given values   |\n| `finishReason(...reasons)`        | high-level | Same as `result.finishReason` (re-exported for convenience)           |\n| `schemaInvalid()`                 | high-level | The result text fails JSON-schema validation against `responseFormat` |\n\n###### `result(predicate)`\n\nTakes any predicate over the successful result. `result.finishReason(...reasons)` and the re-exported `finishReason(...reasons)` match the result's unified finish reason against one or more values.\n\n```typescript\nimport { finishReason, result } from 'ai-retry/language-model';\n\nresult((res) => res.usage.outputTokens.total === 0).switch({ model: fallback });\n\nfinishReason('content-filter').switch({ model: fallback });\nfinishReason('length', 'content-filter').retry({ maxAttempts: 3 });\n```\n\n###### `schemaInvalid()`\n\nMatches when the result text fails JSON-schema validation against the call's `responseFormat` (set automatically by `Output.object()`).\n\n```typescript\nimport { schemaInvalid } from 'ai-retry/language-model';\n\nschemaInvalid().switch({ model: fallback });\n```\n\n##### Image model conditions\n\nOnly available from `ai-retry/image-model`.\n\n| Helper      | Kind       | Matches when                                  |\n| ----------- | ---------- | --------------------------------------------- |\n| `noImage()` | high-level | The image model threw `NoImageGeneratedError` |\n\n###### `noImage()`\n\nMatches when the image model threw `NoImageGeneratedError`.\n\n```typescript\nimport { noImage } from 'ai-retry/image-model';\n\nnoImage().switch({ model: fallback });\n```\n\n##### Embedding model conditions\n\n> [!NOTE]\n> The `embedding-model` entry point exposes only the universal conditions — there are no embedding-specific result conditions.\n\n#### Actions\n\nEvery condition exposes two terminal actions that turn it into a retryable:\n\n- **`.switch({ model, ...options })`** falls back to a different model when the condition matches. Optional fields (`maxAttempts`, `delay`, `backoffFactor`, `timeout`, `options`) are the same as on a normal `Retry` object. `maxAttempts` defaults to `1`.\n- **`.retry({ delay?, backoffFactor?, maxAttempts?, ... })`** retries the **current** model when the condition matches. Honors `Retry-After` and `Retry-After-Ms` response headers, capped at 60 seconds. `maxAttempts` defaults to `2` (one original attempt + one retry); values below `2` throw, since the retry budget is consumed by the original failure.\n\n```typescript\nimport { error, timeout } from 'ai-retry/language-model';\n\n// Switch on a timeout, with a fresh timeout for the fallback\ntimeout().switch({ model: fallback, timeout: 30_000 });\n\n// Retry the current model with exponential backoff, max 3 attempts\nerror\n  .isRetryable(true)\n  .retry({ delay: 1_000, backoffFactor: 2, maxAttempts: 3 });\n```\n\n#### Combinators\n\nCompose conditions with the top-level `or()`, `and()`, `not()` helpers. Because each entry point is typed for a single model family, they infer the family from their arguments — no type annotations or casts needed. `or()` and `and()` are variadic.\n\n```typescript\nimport { and, error, httpStatus, not, or } from 'ai-retry/language-model';\n\nor(httpStatus(429), error.message('overloaded')).switch({ model: fallback });\nand(httpStatus(503), error.message('temporary')).switch({ model: fallback });\nnot(error.isRetryable(true)).switch({ model: fallback });\n```\n\n#### Custom predicates\n\nWhen the higher-level helpers don't cover the field you need, drop down to `error(predicate)` / `result(predicate)` and inspect whatever is on the error or result. The predicate receives `(err | result, ctx)` and can be `async`; `ctx` is fully typed for the entry point you imported from, so the current attempt, the model, and all previous attempts are available without manual annotations.\n\n```typescript\nimport { anthropic } from '@ai-sdk/anthropic';\nimport { openai } from '@ai-sdk/openai';\nimport { APICallError } from 'ai';\nimport { createRetryableModel, error } from 'ai-retry/language-model';\n\n// OpenAI-style error code nested at data.error.code. `e` is `unknown`.\nconst isContentFilter = (e: unknown) => {\n  if (!APICallError.isInstance(e)) return false;\n  const data = e.data as { error?: { code?: string } } | undefined;\n  return data?.error?.code === 'content_filter';\n};\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o'),\n  retries: [\n    error(isContentFilter).switch({\n      model: anthropic('claude-3-haiku-20240307'),\n    }),\n  ],\n});\n```\n\nThe predicate's second argument is the typed `ModelRetryContext`, so a check like “only retry on the first attempt” is just `(e, ctx) => ctx.attempts.length === 1 && isContentFilter(e)`.\n\n#### All retries failed\n\nIf all retry attempts fail, a `RetryError` is thrown containing all individual errors. If no retry was attempted (every retryable returned `undefined` / didn't match), the original error is re-thrown directly.\n\n```typescript\nimport { RetryError } from 'ai';\n\ntry {\n  const result = await generateText({\n    model: retryableModel,\n    prompt: 'Hello!',\n  });\n} catch (err) {\n  if (err instanceof RetryError) {\n    console.error('All retry attempts failed:', err.errors);\n  } else {\n    console.error('Request failed:', err);\n  }\n}\n```\n\nErrors are tracked per unique model (`provider/modelId`). Once a model has hit its `maxAttempts`, no further retry will land on it.\n\n#### Max retries\n\nThe AI SDK functions (`generateText`, `streamText`, …) wrap **every** model in their own retry loop, controlled by `maxRetries`, which **defaults to `2`**. That loop retries whenever the model throws a retryable error (an `APICallError` with `isRetryable === true`, e.g. many 429/5xx responses).\n\nThis loop sits _above_ `ai-retry`, so the two can stack. When none of your conditions match a retryable error, `ai-retry` re-throws the original error unchanged. The AI SDK then sees a retryable `APICallError` and re-runs the **whole** retryable model, re-evaluating every condition and fallback from scratch, up to `maxRetries` more times, each with its own exponential backoff.\n\nIt's recommended to pass `maxRetries: 0` to the AI SDK call and let `ai-retry` be the single authority on retries:\n\n```typescript\nimport { anthropic } from '@ai-sdk/anthropic';\nimport { openai } from '@ai-sdk/openai';\nimport { createRetryableModel } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o'),\n  // only one retry attempt allowed per call\n  retries: [anthropic('claude-3-haiku-20240307')],\n});\n\nconst result = await generateText({\n  model: retryableModel,\n  prompt: 'Hello world!',\n  // let ai-retry own all retries and fallbacks\n  maxRetries: 0,\n});\n```\n\n### Options\n\n#### Disabling retries\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4'),\n  retries: [\n    /* ... */\n  ],\n  disabled: true, // hard off\n  // disabled: process.env.NODE_ENV === 'test',      // env-based\n  // disabled: () => !featureFlags.isEnabled('ai'),  // dynamic\n});\n```\n\nWhen disabled the base model executes directly, no retry logic runs.\n\n#### Retry delays\n\nDelays accept exponential backoff and respect the request's abort signal so they can still be cancelled. A delay before a retry that sets its own `timeout` ignores a request deadline that has fired, as the retry does, so the wait does not end the retry before it starts.\n\n```typescript\nimport { createRetryableModel } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4'),\n  retries: [\n    // Retry the base model with a fixed 2s delay\n    { model: openai('gpt-4'), delay: 2_000, maxAttempts: 3 },\n\n    // Or with exponential backoff: 2s, 4s, 8s\n    { model: openai('gpt-4'), delay: 2_000, backoffFactor: 2, maxAttempts: 3 },\n  ],\n});\n```\n\nThe same `delay` / `backoffFactor` / `maxAttempts` options are accepted by `.switch({...})` and `.retry({...})`.\n\n#### Retry timeouts\n\nWhen a retry specifies a `timeout`, a fresh `AbortSignal.timeout()` is created for that attempt. If the original `abortSignal` is still alive, the fresh deadline is composed with it so user cancellation still works, while a request-level deadline (`TimeoutError`) firing later is ignored. If the original signal already fired as a deadline, it is dropped so the retry runs against the fresh deadline alone.\n\nIf the original `abortSignal` is already aborted at the time of retry and the retry does **not** supply a `timeout`, `ai-retry` re-throws the original error rather than firing a misleading retry against the dead signal. `onError` still fires for observability; `onRetry` is skipped. Setting `timeout` is the explicit opt-in for retrying past a request-level deadline. A cancellation (any other abort reason, such as a plain `controller.abort()`) is never retried past, `timeout` or not.\n\nAn abort of the request is surfaced as it is: after a failover, the caller gets the `AbortError`, not a `RetryError` wrapping it, and a stream rejects with it rather than carrying it as an error part. So `streamText` reports it through `onAbort`, the same as without a retryable model.\n\n```typescript\nimport { createRetryableModel, timeout } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4'),\n  retries: [\n    timeout().switch({ model: openai('gpt-3.5-turbo'), timeout: 30_000 }),\n  ],\n});\n\nawait generateText({\n  model: retryableModel,\n  prompt: 'Write a story',\n  abortSignal: AbortSignal.timeout(60_000),\n});\n```\n\nHere `timeout` is a plain number of milliseconds. A retryable model applies its deadline by building an `AbortSignal`, which carries a wall-clock budget and nothing else, so there is nothing finer to express. The [call-level functions](#call-level-retries) do have somewhere to put the SDK's structured windows, and accept them.\n\nThis option is one of several places a deadline can live, and the choice decides whether a fallback can recover at all. See [Timeouts](#timeouts) for the full picture.\n\n#### Max attempts\n\nEach retryable attempts a model at most once by default. Use `maxAttempts` to allow more. Attempts are counted per unique model, so duplicates across multiple retryables don't get more chances than configured.\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4'),\n  retries: [\n    anthropic('claude-3-haiku-20240307'), // 1 attempt\n    { model: openai('gpt-4'), maxAttempts: 2 }, // 1 + 1 retry\n    anthropic('claude-3-haiku-20240307'), // already used\n  ],\n});\n```\n\n#### Provider options\n\nOverride provider-specific options for a retry, completely replacing the original ones.\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-5'),\n  retries: [\n    {\n      model: openai('gpt-4o-2024-08-06'),\n      providerOptions: {\n        openai: { user: 'fallback-user', structuredOutputs: false },\n      },\n    },\n  ],\n});\n```\n\n#### Call options\n\nOverride any of the call options for a retry. Useful for things like temperature, max tokens, or the prompt itself.\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4'),\n  retries: [\n    {\n      model: anthropic('claude-3-haiku'),\n      options: {\n        temperature: 0.3,\n        topP: 0.9,\n        maxOutputTokens: 500,\n        seed: 42,\n      },\n    },\n  ],\n});\n```\n\n> [!NOTE]\n> Override options completely replace the original values (they are not merged). If you don't specify an option, the original value from the request is used.\n\n##### Language model options\n\n| Option             | Description                                    |\n| ------------------ | ---------------------------------------------- |\n| `prompt`           | Override the entire prompt for the retry       |\n| `temperature`      | Temperature setting for controlling randomness |\n| `topP`             | Nucleus sampling parameter                     |\n| `topK`             | Top-K sampling parameter                       |\n| `maxOutputTokens`  | Maximum number of tokens to generate           |\n| `seed`             | Random seed for deterministic generation       |\n| `stopSequences`    | Stop sequences to end generation               |\n| `presencePenalty`  | Presence penalty for reducing repetition       |\n| `frequencyPenalty` | Frequency penalty for reducing repetition      |\n| `headers`          | Additional HTTP headers                        |\n| `providerOptions`  | Provider-specific options                      |\n\n##### Embedding model options\n\n| Option            | Description                  |\n| ----------------- | ---------------------------- |\n| `values`          | Override the values to embed |\n| `headers`         | Additional HTTP headers      |\n| `providerOptions` | Provider-specific options    |\n\n##### Image model options\n\n| Option            | Description                      |\n| ----------------- | -------------------------------- |\n| `n`               | Number of images to generate     |\n| `size`            | Size of generated images         |\n| `aspectRatio`     | Aspect ratio of generated images |\n| `seed`            | Random seed for reproducibility  |\n| `headers`         | Additional HTTP headers          |\n| `providerOptions` | Provider-specific options        |\n\n#### Dynamic call options\n\nYou can also override call options dynamically from `onRetry`, instead of declaring them statically on the retry object. This is useful when the override depends on something only known at runtime — the prompt that just failed, the model about to be tried, or the error that triggered the retry. The overrides apply to the upcoming attempt only and can change the same fields as the static `options`. The callback can be `async` if computing the override needs to do work (e.g. fetching a fresh credential).\n\n```typescript\nimport { azure } from '@ai-sdk/azure';\nimport { openai } from '@ai-sdk/openai';\nimport { createRetryableModel } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: azure('gpt-5-chat'),\n  retries: [openai('gpt-5-chat')],\n  onRetry: (context) => {\n    const { current, attempts } = context;\n    const previous = attempts.at(-1);\n\n    if (current.model.provider !== previous.model.provider) {\n      // Strip provider-scoped metadata before retrying on a different provider\n      return {\n        options: { prompt: stripProviderMetadata(current.options.prompt) },\n      };\n    }\n  },\n});\n```\n\nInside `onRetry`, `context.current.model` is the model about to be tried next; `context.current.options` and `context.current.error` describe the failed attempt that triggered the retry. The previous model is at `context.attempts.at(-1).model`.\n\n**Precedence** for the upcoming retry attempt (highest to lowest):\n\n1. The value returned from `onRetry`\n2. The `options` returned from the retryable\n3. The original call options from the request\n\n#### Logging\n\nYou can use the following callbacks to log retry attempts and errors:\n\n- `onError` is invoked if an error occurs.\n- `onRetry` is invoked before attempting a retry.\n- `onSuccess` is invoked after a successful request with the model that handled it.\n- `onFailure` is invoked when the request ultimately fails and no retry could recover it, including when the call is aborted.\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o-mini'),\n  retries: [\n    /* ... */\n  ],\n  onError: (context) => {\n    console.error(\n      `Attempt ${context.attempts.length} with ${context.current.model.provider}/${context.current.model.modelId} failed:`,\n      context.current.error,\n    );\n  },\n  onRetry: (context) => {\n    console.log(\n      `Retrying with ${context.current.model.provider}/${context.current.model.modelId}...`,\n    );\n  },\n  onSuccess: (context) => {\n    console.log(\n      `Request handled by ${context.current.model.provider}/${context.current.model.modelId}`,\n    );\n  },\n  onFailure: (context) => {\n    console.error(\n      `Request failed after ${context.attempts.length} attempts:`,\n      context.error,\n    );\n  },\n});\n```\n\n`onSuccess` and `onFailure` are counterparts: exactly one of them is invoked per request once its final outcome is known. `onFailure` fires when the error could not be recovered by a retry, whether because no retryable matched, all retries were exhausted, the retry itself failed, a stream failed after its content had started flowing, or the call was aborted. `context.error` is the error surfaced to the caller (a [`RetryError`](#all-retries-failed) wrapping every attempt error when more than one attempt was made, otherwise the original error; an aborted call surfaces its abort error as it is), and `context.current` is the final failed attempt. Neither callback fires when retries are disabled.\n\nThe `aborted` flag tells an abort apart from a failure: it is `true` when the caller cancelled the call or a deadline on the call itself fired, and `false` when the attempts failed. A deadline surfaces a `TimeoutError`, so the error's `name` tells the two kinds of abort apart. For alerting, skip the cancels:\n\n```typescript\nonFailure: ({ aborted, error }) => {\n  if (aborted && error.name !== 'TimeoutError') return; // a user cancel\n  console.error(error);\n},\n```\n\n#### Reset\n\nBy default, every new request starts with the base model, even if a previous request was retried with a different model. The `reset` option changes this behavior by making the last successfully retried model **sticky** — subsequent requests will continue using that model until the reset condition fires.\n\n| Value              | Description                                                  |\n| ------------------ | ------------------------------------------------------------ |\n| `after-request`    | Reset immediately after the next request (default)           |\n| `after-N-requests` | Keep the retry model for the next **N** requests, then reset |\n| `after-N-seconds`  | Keep the retry model for **N** seconds, then reset           |\n| `never`            | Keep the retry model for as long as the wrapper lives        |\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o-mini'),\n  retries: [anthropic('claude-sonnet-4-20250514')],\n  reset: 'after-5-requests',\n});\n```\n\n`never` ties the sticky model to the lifetime of the wrapper instance. Create the wrapper for the scope that should stay on one provider, for example once per chat turn, and every step of that turn continues on the fallback after the first failover:\n\n```typescript\nconst retryableModel = createRetryableModel({\n  model: azure('gpt-4o'),\n  retries: [openai('gpt-4o')],\n  reset: 'never',\n});\n```\n\nWhile a model is sticky, each request starts on it and the retries apply from there. The base model is tried again only when a retry names it. If a retry succeeds on another model, that model becomes the sticky one. If the request fails, the sticky model stays in place. `never` behaves exactly like `after-N-requests` with an **N** that is never reached.\n\n### Telemetry\n\n> [!NOTE]\n> Experimental: span names and attributes may change in patch versions.\n\n`ai-retry` can emit [OpenTelemetry](https://opentelemetry.io/) spans for each request and every retry attempt. Spans are created on the active OpenTelemetry context, so they nest automatically under the AI SDK's own spans (e.g. `ai.generateText.doGenerate`) when that integration is active. A single trace then shows the individual attempts: which model each used, why it was retried, and the backoff between them.\n\n#### Setup\n\nTelemetry uses the optional peer dependency `@opentelemetry/api`. In AI SDK v7 it is no longer a transitive dependency of `ai`, so install [`@ai-sdk/otel`](https://ai-sdk.dev/docs/ai-sdk-core/telemetry) or `@opentelemetry/api` directly. Register an OpenTelemetry SDK once at startup, then opt in per model:\n\n```typescript\nimport { createRetryableModel } from 'ai-retry/language-model';\n\nconst retryableModel = createRetryableModel({\n  model: openai('gpt-4o'),\n  retries: [anthropic('claude-sonnet-4-5')],\n  telemetry: { isEnabled: true },\n});\n```\n\nThe settings resemble the AI SDK's `telemetry` shape, but stay opt-in and keep a `tracer` field (which the AI SDK moved into `@ai-sdk/otel`):\n\n```ts\ninterface RetryTelemetrySettings {\n  isEnabled?: boolean; //\n  tracer?: Tracer; // defaults to trace.getTracer('ai-retry')\n  metadata?: Record<string, AttributeValue>;\n}\n```\n\nSpans are emitted only when `isEnabled` is `true`. By default the global tracer is used, which is a no-op until an OpenTelemetry SDK is registered — so enabling it in code that runs without an SDK has no effect and no cost.\n\n> [!NOTE]\n> Prompts and generated content are **not** recorded — only metadata (models, outcomes, errors, timing). The AI SDK's own telemetry records the prompt/response on its spans when you enable `recordInputs`/`recordOutputs`.\n\n#### Spans\n\nEach request creates one operation span (`ai_retry.doGenerate`, `ai_retry.doStream`, or `ai_retry.doEmbed`) with one child `ai_retry.attempt` span per attempt:\n\n```\nai_retry.doGenerate            outcome=success, attempts=2\n├─ ai_retry.attempt #1         outcome=retry,   type=error   (529 → fallback)\n└─ ai_retry.attempt #2         outcome=success, type=result\n```\n\n**Operation span** attributes:\n\n| Attribute                                                                    | Description                                                                  |\n| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |\n| `ai_retry.operation`                                                         | `doGenerate`, `doStream`, or `doEmbed`                                       |\n| `ai_retry.outcome`                                                           | `success` or `failure`                                                       |\n| `ai_retry.attempts`                                                          | total number of attempts                                                     |\n| `ai_retry.model.start`                                                       | the model the request started with (`provider/modelId`)                      |\n| `ai_retry.model.final`                                                       | the model that produced the final outcome                                    |\n| `ai_retry.error.{name,message,status,cause.name,cause.message,cause.status}` | the failing error (on failure); `status` when it carries an HTTP status code |\n| `ai_retry.metadata.*`                                                        | from the telemetry settings `metadata`                                       |\n\n**Attempt span** (`ai_retry.attempt`) attributes:\n\n| Attribute                                                                            | Description                                                              |\n| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |\n| `ai_retry.attempt.number`                                                            | 1-based attempt index                                                    |\n| `ai_retry.attempt.model`                                                             | model used (`provider/modelId`)                                          |\n| `ai_retry.attempt.outcome`                                                           | `success`, `retry`, or `failure`                                         |\n| `ai_retry.attempt.type`                                                              | `result` or `error`                                                      |\n| `ai_retry.attempt.finish_reason`                                                     | finish reason (result attempts)                                          |\n| `ai_retry.attempt.delay_ms`                                                          | backoff scheduled before the next attempt                                |\n| `ai_retry.attempt.timeout_ms`                                                        | timeout budget, when the retry set one                                   |\n| `ai_retry.attempt.error.{name,message,status,cause.name,cause.message,cause.status}` | the error (error attempts); `status` when it carries an HTTP status code |\n\nAttempt spans also carry the standard `gen_ai.request.model` / `gen_ai.provider.name` attributes so observability tools (Langfuse, etc.) recognize and render them.\n\nThe attempt span is also the **active** span while its call runs, so the AI SDK's own spans, and the provider's beneath them, nest inside the attempt that issued them rather than appearing beside the retry tree. This needs a context manager registered in your OpenTelemetry setup, which `provider.register()` does; without one the spans are still parented correctly relative to each other, but anything the attempt calls attaches to whatever surrounded your call.\n\n> [!NOTE]\n> **Streaming:** retries only happen before the first content chunk (see [Streaming](#streaming)), so a `ai_retry.doStream` attempt is marked `success` once content begins flowing; mid-stream retries appear as additional attempt spans.\n\nSee [`examples/telemetry`](./examples/telemetry) for a runnable example that exports to Langfuse.\n\n### Streaming\n\nErrors during streaming requests can occur in two ways:\n\n1. When the stream is initially created (e.g. network error, API error, etc.) by calling `streamText`.\n2. While the stream is being processed (e.g. timeout, API error, etc.) by reading from the returned `result.textStream` async iterable.\n\nIn the second case, errors during stream processing will not always be retried, because the stream might have already emitted some actual content and the consumer might have processed it. Retrying stops as soon as the first content chunk (e.g. `text-delta`, `tool-call`, etc.) is emitted. The chunks considered as content are the same as the ones passed to [`onChunk()`](https://github.com/vercel/ai/blob/1fe4bd4144bff927f5319d9d206e782a73979ccb/packages/ai/src/generate-text/stream-text.ts#L684-L697).\n\nResult-based conditions (`finishReason`, `schemaInvalid`, `result(...)`) apply to streams as well: the decision happens when the upstream `finish` part arrives and only fires if no content has been emitted yet, so behavior like `finishReason.unified === 'content-filter'` on an otherwise empty response can still trigger a fallback. Once any content chunk has been forwarded, the stream is committed and result-based retries are skipped.\n\n> [!IMPORTANT]\n> **Streaming limitation:** retries and fallbacks only apply before the first content chunk is emitted. Once streaming begins delivering content, the response is committed to the current model. Mid-stream errors will propagate to the caller rather than triggering a fallback. If reliable retries are critical for your use case, consider using `generateText` instead of `streamText`.\n\nTimeouts have a second limitation on top of that boundary: a deadline set on the `streamText` call itself can never fail over, whether or not content has been emitted. See [Timeouts](#timeouts).\n\n#### Preamble buffering\n\nEvery stream begins with a non-content preamble (`stream-start`, then optionally `response-metadata` and `text-start` / `reasoning-start`) that providers emit as soon as the response headers arrive, before any content flows. Because a retry can still happen during this window, `ai-retry` does not forward the preamble immediately. It buffers the leading non-content parts and flushes them only when the first content chunk arrives (or when the stream finishes with no content). If a retry fires before any content, the buffered preamble is discarded and replaced by the fallback's, so the consumer always sees exactly one preamble — the one belonging to the model that actually produced the output, with its own `warnings` and `response-metadata`. Without this, a fallback's `stream-start` would be emitted a second time after the primary's, which some consumers (e.g. `streamText`) reject.\n\n> [!NOTE]\n> One side effect: the consumer's \"stream started\" signal now arrives at first-content time rather than when the response headers arrive (typically a sub-second difference). For UIs that show a typing indicator off `stream-start` this is negligible.\n\n### Timeouts\n\nA `timeout` you pass to `generateText` or `streamText` belongs to **the call**, not to the model. `createRetryableModel` wraps the model and retries underneath the call, so it cannot undo something the call has already done to itself. Whether that matters depends on the entry point:\n\n- **`generateText`** just rejects, and a fallback below it still returns its value normally, so the deadline recovers.\n- **`streamText`** has already finalized its stream as aborted by the time a fallback produces anything, so everything the fallback emits is discarded.\n\nA deadline a retry sets _itself_ is a different matter: a retry's own `timeout` aborts only that attempt's signal, never the call's, so it recovers under both entry points (see [Retry timeouts](#retry-timeouts)).\n\nIn both tables below, \"Outcome\" is what a retryable model can do about that deadline.\n\n**Which deadline fires when under `generateText`**\n\n| Deadline             | Clock                           | Outcome                                                                                                |\n| -------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| `timeout.totalMs`    | the whole call, from call start | recovers                                                                                               |\n| `timeout.stepMs`     | one step, from step start       | recovers                                                                                               |\n| caller `abortSignal` | whenever the caller aborts      | recovers a deadline (`AbortSignal.timeout()`) when the retry sets its own `timeout`; a cancel does not |\n\n**Which deadline fires when under `streamText`**\n\n| Deadline               | Clock                                                                 | Outcome                    |\n| ---------------------- | --------------------------------------------------------------------- | -------------------------- |\n| `timeout.totalMs`      | the whole call, from call start                                       | discarded                  |\n| `timeout.stepMs`       | one step, from step start                                             | discarded                  |\n| `timeout.firstChunkMs` | step start until the first content chunk                              | discarded                  |\n| `timeout.chunkMs`      | the gap between content chunks, armed only once the first one arrives | never fires before content |\n| caller `abortSignal`   | whenever the caller aborts                                            | discarded                  |\n\n\"Discarded\" means the fallback is attempted and really does run (`onError` and `onRetry` fire, the fallback model is called), but its output never reaches the consumer. That is a separate thing from the streaming commit boundary above, and stricter: it applies even when no content was ever emitted, so a stall before the very first chunk is dropped just the same ([#50](https://github.com/zirkelc/ai-retry/issues/50)).\n\nThree sharp edges in those tables:\n\n- `firstChunkMs` and `chunkMs` are streaming-only, but all four keys share one type, so `generateText` accepts them and then never reads them. A `generateText` call configured with only those keys has no deadline at all, and a stalled model hangs indefinitely.\n- `chunkMs` measures the gap _between_ content chunks, so its timer is only armed once the first content chunk arrives. It never catches a model that stalls before producing anything, and once it can fire the attempt is already committed.\n- Where a table says \"recovers\", the retry must still supply its own `timeout` whenever the inbound signal has already fired, otherwise `ai-retry` re-throws instead of retrying against a dead signal (see [Retry timeouts](#retry-timeouts)).\n\nA `streamText` deadline is still useful as a hard ceiling on the call. Recovering from one needs a retry that sits **around** the call rather than below the model, which is what the [call-level functions](#call-level-retries) do.\n\n> [!IMPORTANT]\n> The streaming commit boundary applies wherever the retry sits. A deadline that fires after the first content chunk cannot fail over, because the response is already committed to the current model.\n\n### Call-level retries\n\n> [!WARNING]\n> The call-level retries are experimental: every function carries an `experimental_` prefix, and the API may change in a minor release.\n\n`createRetryableModel` retries _below_ `generateText` / `streamText`, which makes it blind to a call-level timeout (`timeout.totalMs`, `stepMs`, `firstChunkMs`) or an inbound `abortSignal`: those live _on_ the call, and once one fires the SDK tears the call down. The call-level functions close that gap by re-running the **whole call** with the next model.\n\nEach takes the arguments its SDK entry point takes, plus a `retry` field. The model stays a normal argument and is swapped per attempt. The signature differs from the SDK's in two places, both covered under [Deadlines](#deadlines): `retryableStreamText` returns a promise where `streamText` does not, and the embedding and image functions take a `timeout` the SDK does not give them.\n\n| function                              | wraps           | import from               | model family |\n| ------------------------------------- | --------------- | ------------------------- | ------------ |\n| `experimental_retryableGenerateText`  | `generateText`  | `ai-retry/generate-text`  | language     |\n| `experimental_retryableStreamText`    | `streamText`    | `ai-retry/stream-text`    | language     |\n| `experimental_retryableEmbed`         | `embed`         | `ai-retry/embed`          | embedding    |\n| `experimental_retryableEmbedMany`     | `embedMany`     | `ai-retry/embed-many`     | embedding    |\n| `experimental_retryableGenerateImage` | `generateImage` | `ai-retry/generate-image` | image        |\n\nEverything else works as at the model layer: the same `Retry` fields (`maxAttempts`, `delay`, `backoffFactor`, `timeout`, `options`), the same `RetryError` when every attempt fails, and conditions with the same names imported from `ai-retry/<function>/conditions`. Only `result()` behaves differently, as described under [Conditions](#conditions-1).\n\n#### `retryableGenerateText`\n\nEverything is recoverable until the call resolves, errors and results alike.\n\n```typescript\nimport { anthropic } from '@ai-sdk/anthropic';\nimport { openai } from '@ai-sdk/openai';\nimport { experimental_retryableGenerateText as retryableGenerateText } from 'ai-retry/generate-text';\nimport { finishReason, httpStatus } from 'ai-retry/generate-text/conditions';\n\nconst result = await retryableGenerateText({\n  model: anthropic('claude-sonnet-4-5'),\n  prompt: 'Invent a new holiday.',\n  /** A whole-call deadline, recoverable here because the retry re-issues the call. */\n  timeout: { totalMs: 20_000 },\n  retry: [\n    /** Overloaded upstream: same prompt, different provider. */\n    httpStatus(529).switch({ model: openai('gpt-4o') }),\n    /** A refusal is a successful response, so only a result condition sees it. */\n    finishReason('content-filter').switch({ model: openai('gpt-4o-mini') }),\n  ],\n});\n\nconsole.log(result.text);\n```\n\n#### `retryableStreamText`\n\nA `timeout` on a `streamText` call cannot be recovered below the model: when it fires, `streamText` closes its stream as aborted, so everything a fallback model produces afterwards is discarded (see [Timeouts](#timeouts)). A retry here re-runs `streamText` itself, so the fallback gets a new, open stream.\n\n```typescript\nimport { openai } from '@ai-sdk/openai';\nimport { experimental_retryableStreamText as retryableStreamText } from 'ai-retry/stream-text';\nimport { timeout } from 'ai-retry/stream-text/conditions';\n\n/** Note the `await`: unlike `streamText`, this resolves once an attempt commits. */\nconst result = await retryableStreamText({\n  model: openai('gpt-4o'),\n  prompt: 'Invent a new holiday.',\n  /** No model-level retry could recover this one. */\n  timeout: { firstChunkMs: 2_000 },\n  retry: [timeout().switch({ model: openai('gpt-4o-mini') })],\n});\n\nfor await (const chunk of result.textStream) process.stdout.write(chunk);\n```\n\n#### `retryableEmbed`\n\n`embed` has no `timeout` argument, so this library adds one and turns it into a fresh `AbortSignal` per attempt (see [Deadlines](#deadlines)).\n\n```typescript\nimport { openai } from '@ai-sdk/openai';\nimport { experimental_retryableEmbed as retryableEmbed } from 'ai-retry/embed';\nimport { httpStatus } from 'ai-retry/embed/conditions';\n\nconst result = await retryableEmbed({\n  model: openai.textEmbedding('text-embedding-3-small'),\n  value: 'sunny day at the beach',\n  /** Not an `embed` argument. Each attempt gets its own 5s. */\n  timeout: 5_000,\n  retry: [\n    /** Rate limited: wait it out on the same model before moving on. */\n    httpStatus(429).retry({ maxAttempts: 3, delay: 1_000, backoffFactor: 2 }),\n    /** Still failing, so switch. A bare model is shorthand for \"always try this next\". */\n    openai.textEmbedding('text-embedding-3-large'),\n  ],\n});\n\nconsole.log(result.embedding.length);\n```\n\n#### `retryableEmbedMany`\n\nA retry re-runs the whole call, so the fallback re-embeds every value rather than resuming a partial batch.\n\n```typescript\nimport { openai } from '@ai-sdk/openai';\nimport { experimental_retryableEmbedMany as retryableEmbedMany } from 'ai-retry/embed-many';\nimport { result } from 'ai-retry/embed-many/conditions';\n\nconst embeddings = await retryableEmbedMany({\n  model: openai.textEmbedding('text-embedding-3-small'),\n  values: ['sunny day at the beach', 'rainy afternoon in the city'],\n  retry: [\n    /** A degenerate embedding is not an error, so nothing throws to catch. */\n    result((res) => res.embeddings.some((e) => e.every((v) => v === 0))).switch(\n      {\n        model: openai.textEmbedding('text-embedding-3-large'),\n      },\n    ),\n  ],\n});\n```\n\n#### `retryableGenerateImage`\n\n```typescript\nimport { openai } from '@ai-sdk/openai';\nimport { experimental_retryableGenerateImage as retryableGenerateImage } from 'ai-retry/generate-image';\nimport { noImage, result } from 'ai-retry/generate-image/conditions';\n\nconst { images } = await retryableGenerateImage({\n  model: openai.image('dall-e-3'),\n  prompt: 'a cat wearing a hat',\n  n: 2,\n  retry: [\n    /** Returned no image at all. */\n    noImage().switch({ model: openai.image('gpt-image-1') }),\n    /** Returned fewer than asked for. */\n    result((res) => res.images.length < 2).switch({\n      model: openai.image('gpt-image-1'),\n    }),\n  ],\n});\n```\n\n#### Why this recovers what a retryable model cannot\n\n`streamText` runs the call, and your model instance is one piece it uses along the way:\n\n1. Before it touches the model, it builds **one abort signal** out of every `timeout.*` you passed plus any `abortSignal` of your own.\n2. It calls `model.doStream()` underneath that signal, once per step.\n3. It forwards the model's chunks to you through a **gate** that re-checks the signal before every chunk.\n\n```mermaid\nflowchart TB\n  you([\"your code\"])\n\n  subgraph outer[\"retryableStreamText: a retry replaces this entire box\"]\n    subgraph call[\"one streamText() call\"]\n      direction TB\n      sig[\"abort signal, owned by the call<br>totalMs · stepMs · firstChunkMs · chunkMs · your abortSignal\"]\n      subgraph inner[\"createRetryableModel: a retry replaces only this box\"]\n        ds[\"model.doStream()<br>request to the provider\"]\n      end\n      gate[\"chunk gate<br>re-checks the signal before forwarding each chunk\"]\n    end\n  end\n\n  you -- \"prompt\" --> ds\n  ds -- \"chunks\" --> gate\n  sig -. \"once a deadline fires, the gate<br>drops everything and closes the stream\" .-> gate\n  gate -- \"textStream / fullStream\" --> you\n```\n\nThe nesting decides what a retry can recover:\n\n- **`createRetryableModel` swaps the model**, the innermost box. The signal and the gate survive the swap, so the fallback runs and produces chunks, and the gate drops every one of them: the signal it checks latched the moment the deadline fired.\n- **`retryableStreamText` swaps the call**, signal and gate included, so the fallback gets fresh ones and its output reaches you.\n\n`generateText` has the same layering minus the gate, which is why a retryable model recovers `generateText` deadlines but not `streamText` ones (see [Timeouts](#timeouts)).\n\n| Layer       | What a retry replaces                     | `generateText` deadlines | `streamText` deadlines |\n| ----------- | ----------------------------------------- | ------------------------ | ---------------------- |\n| Model layer | `doGenerate` / `doStream`, below the call | recovers                 | cannot recover         |\n| Call layer  | the whole call, above the model           | recovers                 | recovers               |\n\n#### When each timer runs\n\n```mermaid\nsequenceDiagram\n  participant You as your code\n  participant Call as streamText()\n  participant Model as model.doStream()\n\n  You->>Call: streamText({ model, prompt, timeout })\n  Note over Call: totalMs starts (the whole call)<br>stepMs starts (this step)<br>firstChunkMs starts (this step)\n  Call->>Model: doStream({ abortSignal })\n  Model-->>Call: stream-start, response-metadata<br>(framing, not content)\n  Model-->>Call: first text-delta\n  Note over Call: firstChunkMs cleared<br>chunkMs armed for the first time\n  Call-->>You: first chunk, and the attempt is now committed\n  Model-->>Call: more deltas\n  Note over Call: chunkMs restarts on every content chunk\n  Model-->>Call: finish\n  Note over Call: totalMs and stepMs stop when the call ends\n```\n\nNote where the commit point falls: `chunkMs` cannot arm until the first content chunk, and that same chunk is what puts the attempt beyond retry. A timer that only starts after commit can never produce a recoverable failure, at either layer.\n\n#### Conditions\n\nImport them from `ai-retry/<function>/conditions`, the same path family as the function itself:\n\n```typescript\nimport { finishReason, httpStatus } from 'ai-retry/generate-text/conditions';\nimport { result } from 'ai-retry/embed/conditions';\nimport { noImage } from 'ai-retry/generate-image/conditions';\n```\n\nThe error conditions (`error`, `httpStatus`, `timeout`, `aborted`) behave exactly as their model-level namesakes, and fit any entry point in their model family. `result()` is where the layers differ, and the type system keeps them apart: a model-level condition in a call-level `retry` is a type error, and the reverse too.\n\n**`result()` receives the entry point's own result**, the object you would have got back, rather than a provider result reconstructed from it. There is one result type per entry point, so every field reads directly and nothing needs narrowing:\n\n```typescript\nimport { result } from 'ai-retry/generate-text/conditions';\n\nresult((res) => {\n  if (res.finishReason === 'content-filter') return true;\n  if (res.usage.outputTokens === 0) return true;\n  return res.text.length < 10;\n}).switch({ model: fallbackModel });\n```\n\n| import from                          | `result()` receives                                     |\n| ------------------------------------ | ------------------------------------------------------- |\n| `ai-retry/generate-text/conditions`  | the completed `generateText` result                     |\n| `ai-retry/stream-text/conditions`    | `finishReason`, `usage`, `providerMetadata` — see below |\n| `ai-retry/embed/conditions`          | the completed `embed` result (`embedding`)              |\n| `ai-retry/embed-many/conditions`     | the completed `embedMany` result (`embeddings`)         |\n| `ai-retry/generate-image/conditions` | the completed `generateImage` result                    |\n\n**`streamText` is the case where the commit result is not the result.** `StreamTextResult` exposes every field as a promise that settles only once the stream has been consumed, and consuming it is exactly what a pre-commit judgement must not do. So a condition there sees what the stream's terminal parts report, and no content at all: any content part would have committed the attempt and put it beyond retry. That is also why a `result()` written for `generate-text` (which reads `res.text`) is a type error in a `stream-text` retry.\n\n`result()` works for **every** entry point here, not just the language ones: an embedding call can fail over on a degenerate embedding and an image call on too few images, neither of which is an error.\n\nTo type tool calls against a specific tool set, name it at the condition: `result<typeof tools>(...)`. There is no call site to infer it from, since a condition is written against the entry point rather than against one call. Naming it is unchecked, and beyond that the tool calls behave exactly as on a direct `generateText` call.\n\n```typescript\nresult<typeof tools>((res) => {\n  const call = res.toolCalls[0];\n  return call !== undefined && !call.dynamic && call.toolName === 'lookup';\n}).retry({ maxAttempts: 3 });\n```\n\n`schemaInvalid()` has no call-level counterpart: it reads `responseFormat` off the provider call options, which do not exist around a call.\n\n#### The `retry` argument\n\nA bare array is the common form. Pass an object instead when you want hooks, telemetry or the disable switch:\n\n```typescript\nconst result = await retryableGenerateText({\n  model: primaryModel,\n  prompt: 'Invent a new holiday.',\n  retry: {\n    retries: [serviceOverloaded(fallbackModel)],\n    onRetry: (context) =>\n      console.log(`Retrying with ${context.current.model.modelId}`),\n    onSettled: (event) =>\n      console.log(`${event.outcome} after ${event.attempts.length} attempt(s)`),\n    telemetry: { isEnabled: true },\n  },\n});\n```\n\nEverything sits under one key, so the SDK can add arguments of its own without colliding with this library's.\n\n**`maxRetries` defaults to `0`.** Left at the SDK's own default, the entry point would re-issue the failing model several times before the loop ever saw the error, multiplying every deadline. Set `maxRetries` explicitly if you want the SDK's in-call retries as well.\n\n#### Deadlines\n\n`Retry.timeout` gives each attempt a fresh deadline; the first attempt's clock is already spent by the time it fails.\n\nA number is a total budget in milliseconds. An object is the SDK's own timeout configuration, and is **merged** into whatever the call already carried, key by key, so narrowing one window leaves the others standing:\n\n```typescript\nconst result = await retryableStreamText({\n  model: primaryModel,\n  prompt: 'Invent a new holiday.',\n  timeout: { totalMs: 30_000, firstChunkMs: 5_000 },\n  retry: [\n    /** This attempt gets firstChunkMs 2s, and keeps totalMs 30s. */\n    timeout().switch({\n      model: fallbackModel,\n      timeout: { firstChunkMs: 2_000 },\n    }),\n  ],\n});\n```\n\n**Which `timeout` shape a retry accepts depends on the entry point it is used with**, because each entry point can only measure some of the windows:\n\n| Retry lands in                        | `timeout` accepts                              |\n| ------------------------------------- | ---------------------------------------------- |\n| `createRetryableModel`                | `number`                                       |\n| `embed`, `embedMany`, `generateImage` | `number \\| { totalMs }`                        |\n| `generateText`                        | `number \\| { totalMs, stepMs, toolMs, tools }` |\n| `streamText`                          | the above plus `{ firstChunkMs, chunkMs }`     |\n\nNaming a window the destination cannot measure is a **type error** rather than a deadline that never fires. So `{ chunkMs: 100 }` on a `generateText` retry is rejected, where the SDK's own `timeout` argument would accept it on the same call and then never read it (see [Timeouts](#timeouts)). Below a model the deadline can only be a plain number: a retryable model builds an `AbortSignal`, and a signal carries a wall-clock budget and nothing else.\n\n**`embed`, `embedMany` and `generateImage` take a `timeout` of their own here**, which the SDK does not give them. It is this library's argument, turned into a fresh `AbortSignal` per attempt and never passed on. Composing a deadline into `abortSignal` yourself would not work: it reads as a cancellation, so it kills the first attempt and every retry with it.\n\nYour own `abortSignal` is never treated as a deadline. If it aborts, the call is cancelled and no fail-over is attempted; a genuine cancel is not a failure to recover from.\n\n#### Overriding arguments per retry\n\n`Retry.options` holds the entry point's **own** arguments, so a retry can rewrite the prompt in the shape you wrote it:\n\n```typescript\nretry: [\n  { model: fallbackModel, options: { prompt: 'Answer in one sentence.' } },\n],\n```\n\nOverrides are checked against the entry point they are handed to: `options: { values }` belongs to `embedMany` and is rejected by `retryableEmbed`. A retryable that sets no options at all stays usable everywhere.\n\nPer-field precedence, highest first: the `onRetry` return value → `Retry.options` → the call's own arguments.\n\n#### What can still fail over\n\nFor `generateText`, `embed`, `embedMany` and `generateImage`, an attempt is recoverable until it resolves; errors and result-based conditions both apply.\n\nFor `streamText` the boundary is the **first content part**. Before it, an error, a deadline, or even a finish with no content at all can fail over. Once a content part reaches the stream the attempt is committed; an error during consumption propagates to the stream rather than triggering a fallback. The model wrappers have the same limit.\n\nA pre-commit stream has emitted no text and no tool calls by definition, so result-based conditions on a stream are effectively finish-reason-shaped: `StreamTextCommitResult` declares `finishReason`, `usage` and `providerMetadata` and nothing else.\n\n#### Reporting the outcome: `onSettled`\n\nOne terminal hook, on every entry point, called exactly once per call with its final outcome.\n\n```typescript\nconst result = await retryableGenerateText({\n  model: primaryModel,\n  prompt: 'Invent a new holiday.',\n  retry: {\n    retries: [fallbackModel],\n    onSettled: ({ outcome, attempts }) =>\n      metrics.increment(\n        `ai_retry.${outcome}.${attempts.length > 1 ? 'retried' : 'first_try'}`,\n      ),\n  },\n});\n```\n\n`attempts` always holds **every** attempt, the terminal one included, so `outcome` and `attempts.length` distinguish the four cases:\n\n|                         | `outcome` |","readmeFilename":"README.md"}