{"_id":"@zhivex-ai/gateway","_rev":"44-a0a510b295682a3059e36c14c276a401","name":"@zhivex-ai/gateway","dist-tags":{"latest":"1.4.2","next":"1.4.2-next.0"},"versions":{"0.1.0":{"name":"@zhivex-ai/gateway","version":"0.1.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.1.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"d1ed26f90c7be2991535829df4c1e3bb51a9ac80","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.1.0.tgz","fileCount":13,"integrity":"sha512-FJyFV7UVc/xu+XorXwyeld5LMb0kVxzCcSA6fsP9I/74lCQhrWqS0AK7Rm7P4crLvxwe8kwEWzMCJPLS16V0pw==","signatures":[{"sig":"MEUCIQCBLnp1ZQIOdvohdRwtN+wPlAFkfIuscjsZcQUwn97IHgIgf9C6PQAB5wqJRJYuXEp9mJruvsgofyqUl7IGryecVLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30009},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8c7be7d41396fcb532866bae626009ed24926792","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.1.0_1774278085580_0.16410507271176566","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@zhivex-ai/gateway","version":"0.2.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.2.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"0d766d66609f6c744d96478e1ab4f9f4b4dd25b7","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.2.0.tgz","fileCount":14,"integrity":"sha512-D7zF7F0b16IATwT6z+d80vFp+ynqvtFm5Wcc1xVvCAL5zlnYdI5Kn8l1IdUOyJw/pAlVrX+TZs5d7x1eKBuOhA==","signatures":[{"sig":"MEUCIQCHdcz699uFx19sxB49ZgT7/Q49eAvmeFlF4h5ife0fPQIgTuH/Y9RAfQ5h3P18a+7ozaBIGDczdaJ5/QlgZg70L1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30455},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5d8c41404c5c61a039f9e4c384636fdb011277da","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.2.0_1774365066389_0.31631943055625844","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.0":{"name":"@zhivex-ai/gateway","version":"0.2.1-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.2.1-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"aa492ba19905e694f52b67111fc9c48e4eedb29d","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.2.1-next.0.tgz","fileCount":14,"integrity":"sha512-eSo7qNV0NBAKp967TbFMXkhw7KFTJhWXlLUl4FyDme2ZLo9g44eB6WcuAcMY65o5FV9SZ4s0mih6Wg8zpXvDMA==","signatures":[{"sig":"MEYCIQCLSb8GVY/+W8Yl2mY7z+YsewtrwbPoZhwWhE6HIbaTZgIhANnhDAvU2WtGDsgMR3+xR6hncD/btHdHfoXTBuV0l4wt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30469},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0f1683eddb87a7a406302cb38ab041d70a3a76e7","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.2.1-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.2.1-next.0_1774484713277_0.6866125696048853","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@zhivex-ai/gateway","version":"0.2.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.2.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"f7307b135172e040b744ba8d5de97d95cbf5b40f","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.2.1.tgz","fileCount":14,"integrity":"sha512-5yOthOsISpqGolM06vF/qH2uRnTGGAI/HFrFAfoA02NcMT/h1YCalYNHj/01R+thtMzdj+oA66a0vN4syCKZUA==","signatures":[{"sig":"MEUCICkkUmJZ2WO77Q3Q9dlM2ui8oCHcQXggskc8ME6PybyuAiEA1cI9lVTUnNT2C5KJKAXSYwLtcPvHLe95OWXQWTWx1Cg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30455},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a3302f9bb7ca091e8bf42e5064f06c66feb75691","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.2.1_1774485135324_0.3568603614654313","host":"s3://npm-registry-packages-npm-production"}},"0.2.2-next.0":{"name":"@zhivex-ai/gateway","version":"0.2.2-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.2.2-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"1d74da05635d9e9c9fa1d37805ce7689bcd6fde2","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.2.2-next.0.tgz","fileCount":14,"integrity":"sha512-OvuPfbRZGSXj+Pye7Bipl+OTkAo140lrLRD36w9Gv46qu4OakP+LpWSkQtG7Y0kIsjvFphnUgwkbsfAqYkamNw==","signatures":[{"sig":"MEUCIQD+LULwR6ELflXkrqZI1kfE5r55Ks/4flqKKwTz3H5opAIgD5jccrKHave3ErkyiV0hw6PHJjmmJEyst2YY3vODa2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30469},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"09957619884dfa3b4b941e0f6011d4546b1681b7","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.3.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.2.2-next.0_1774920323789_0.3749730757377183","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@zhivex-ai/gateway","version":"0.2.2","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.2.2","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"49babb0c51498cbe255c7b100685097165354aad","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.2.2.tgz","fileCount":14,"integrity":"sha512-i8OIkxmb0MHReNe9rXz8bKLyxLBiD9m120yx2fWgp9tVr4NZH4GzTdR1Qer32OF0NRrumYFwa23vUAuH4GaAQw==","signatures":[{"sig":"MEUCIBshl47VYZ07Obl6Jijsq7HnFYcLnZ8dOCEFBJGT8/NGAiEAqGkXGC2UEPjymigEvzFZr9XRQrlgIG4VGYmyjsdv2io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30455},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"09957619884dfa3b4b941e0f6011d4546b1681b7","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.2.2_1774965001661_0.6992222356182034","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.0":{"name":"@zhivex-ai/gateway","version":"0.3.0-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.3.0-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"de6678be2c639872104129439e0bc16b23e920b5","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.3.0-next.0.tgz","fileCount":14,"integrity":"sha512-HHmHrzYxjR2DAKy8ja/Rq2yDRKMpUCZCONIQYr1s7aQp9rgQGvWSSIqCPhcJyrV0FL+4pGHUfsFd7fq3ufHzNA==","signatures":[{"sig":"MEUCICpbFPMi2986PEOUTfCiziw2DM/c5VbBKL1G6bbXVT/1AiEAohSRaluM7e8cG1nySIxKwjSAXDm3ZzuHx4FV8Dy9GJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51092},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f400cbe8baecb0f4aad2394f7e4ba493369ef608","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.3.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.3.0-next.0_1775063454379_0.22502561329298199","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@zhivex-ai/gateway","version":"0.3.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.3.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"013287068ba64e768827b0370260948c29fefdef","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.3.0.tgz","fileCount":14,"integrity":"sha512-GPu49lcLjBx6chW83udjP+0rbXl+JlUMfZhJowJifJycw2r9VdVzEdnPSA9Bq33hKN4gVOl1UU4UjeVAzB/S9A==","signatures":[{"sig":"MEYCIQD3UATVs6SD21odZ8XB30/CDnotdNboKfNDlKpfoPwBPAIhAItiTo3rbTYYdEHVY37KCc3GBE+YtvKr+L9CQ4KbPqgt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51078},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"36dd55635c8102ba81e2e4b0f10c4c19f892111b","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.3.0_1775652534687_0.10983973405237757","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.0":{"name":"@zhivex-ai/gateway","version":"0.3.1-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.3.1-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"b5049d1017c8b1cb0b6c698d8e5a2ef100042553","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.3.1-next.0.tgz","fileCount":26,"integrity":"sha512-UpmBbzf5hzmjFpL+zOXJB2zdcJxaGTYPczpYhkc2Fs9dkWIQ6P7JNhl9FTNKp0IQEvrXN245vQIF6SaGxO12wg==","signatures":[{"sig":"MEYCIQCTxxxbfEWq60cC0nc+oFE9wpHeQ/lA9OFChE8ifHJSGwIhAL/4uoLgHIDYfRzRwCybSScCkSKqp52xLkZRW6Z4G2aY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107686},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f9288b498491a763939fede540fe47218aee8406","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.5.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.3.1-next.0_1775779150626_0.03695536028458557","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.0":{"name":"@zhivex-ai/gateway","version":"0.4.0-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.4.0-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"693eeba3cb010d62f30e95aca1e0c7df5d083037","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.4.0-next.0.tgz","fileCount":26,"integrity":"sha512-Uws9O0qh6R8ZrfNlEFtQI8Om/TRnb4YkeOgQdSp9JcaUxAIlGE2DSYdErQEpePxHwXrugP1jkKXMwsp4XyrSEg==","signatures":[{"sig":"MEUCIQDsTDH5VMj51liSSkjw+8qD7SbTVyWEbSZ3JjNy1elONAIgbfnM6wh2UOeh9XA1GJkU26RaKwdhHb6aaZGUg0cKe5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121400},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"99b12fd7fb9fdf89f8390f8da975ec5af2fb21d5","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.5.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.4.0-next.0_1776363562983_0.23717591229854684","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@zhivex-ai/gateway","version":"0.4.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.4.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"13608009452048ea26da7ae3d739d88c50d06fd1","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.4.0.tgz","fileCount":26,"integrity":"sha512-TAwqnZPom0/D9XssutJcdZ8PGtpkPty4byHxt6wowyJ20DW5a95lo8kUunTbHSgP2pfZnNpNaxLDf8GEfzBj2A==","signatures":[{"sig":"MEQCIEAci2h+pT0+ERUB7ta47b3rzbUv5yljYEYtFMimciRTAiBB3cKW8nEWqGRBIGhAwMuPVK0hbH4NDsZfqQEmk5hqvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121386},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"99b12fd7fb9fdf89f8390f8da975ec5af2fb21d5","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.4.0_1776439456821_0.35269821266980617","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@zhivex-ai/gateway","version":"0.4.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.4.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"f6f766c1a73558ce30be80807199b00ba22d2494","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.4.1.tgz","fileCount":26,"integrity":"sha512-z1UbKTksHc+wGggUFpXSDOEOF1ecuEQnUk5jAt1jRBj5dsWuEftktOSxFsLdiFp0S5RVbEelhsMi6rQnXlhDXw==","signatures":[{"sig":"MEUCIQCrDGYMbzl+rwcjEs+Kb4lDRWIeojQaBEDd3ZCDpDy1+QIgGDgQwl+4YOaLY4adircOnLf+dMzQ795PbzFMSmxtKdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121386},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fdeb680fdc8f181d30c030a8b86a0d1e25087ec4","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.4.1_1776729916925_0.5784957671779212","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-next.0":{"name":"@zhivex-ai/gateway","version":"0.5.0-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.5.0-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"aae0fa2135d33b9bc40ef25f6734957a4897c845","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.5.0-next.0.tgz","fileCount":26,"integrity":"sha512-dDTzz0FlLSzuXD5X7lCNdYVHMwK0xE2FrendwApIpbY+LpD5Il6eEyccPAAojzZgXhk9Dm/FCn4WyadqSzA1/w==","signatures":[{"sig":"MEUCIQC5aE5mypqtSWgRx96w6JeEYWJjdGnOMkOIxjD29PXwnQIgGiUcTN4I7apfQhK8lEeeCqoSyXQ1V4DG6gWjLFlu9rI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121400},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0def52efd3685437c97aa83598c1d74fde4ecd25","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.7.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.5.0-next.0_1777034274185_0.24217994032316792","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@zhivex-ai/gateway","version":"0.5.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.5.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"26671090d8b6ff07e96a42585cf5844f31e8230c","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.5.0.tgz","fileCount":26,"integrity":"sha512-jPhta8NRO48IFBrqB5fOf2Fi3AxS8eMmRQWrPLeFYXWA/n9uont54fkaRnN62Auhz4poxe/cD3YMJZUIT9xQCg==","signatures":[{"sig":"MEUCIQDENdHRLKbe12fSTSiPkAHhFyEdI8EgzVgxe2feHdce4QIgZz18BABMVyuiBrp7k72WVzGO94sV07AFuHcKq6iteX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121386},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0def52efd3685437c97aa83598c1d74fde4ecd25","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.5.0_1777250784224_0.9889800099834778","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-rc.0":{"name":"@zhivex-ai/gateway","version":"0.5.1-rc.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.5.1-rc.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"5120293161ef2004d122997c1111e8019ba13d54","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.5.1-rc.0.tgz","fileCount":26,"integrity":"sha512-CqVbDrV82uYamWto3LbavtKBMZ+A5EPQXY741Jg1Hn+UWzsfF3IrrYZ7CMEYKSVNmnc6o08Vc+TJhU9caJ0hjQ==","signatures":[{"sig":"MEUCIQDcla3AwoN1JGOde2SzWm9EVwPFGdLt9ZXw2YDDRI9LgQIgX00nvmhUhoEKqEkOns8BzZej9NSSc+zod3JoG4+njoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121396},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3a3843cdac711f27e1beffa29b6d55d6a129ca68","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.8.0-rc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_0.5.1-rc.0_1777936617222_0.5933243893308571","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@zhivex-ai/gateway","version":"0.5.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.5.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"be443053be96edabdb0cb8899ba9648f8c68c9ae","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.5.1.tgz","fileCount":26,"integrity":"sha512-ArsvaIrUIfOLow/DCp23n8Yi97gBWY/I0rg6KKllxmJIKUrn6264jVOOGDA114Ak7H2CvwKE6imin848Xx1tAw==","signatures":[{"sig":"MEQCIHYn/bp+aI4L7wmSBnjwi+Jgs/HKIyh4URgmSyCJCUsNAiBDNYpSXn/R/X7r1wHwUdgN9Y9PyMFXCqgJ2yb3ov6egg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121386},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e32fee92433e48c3bf41826ceb7e1be0298e29be","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.5.1_1777946123616_0.8470757539425242","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@zhivex-ai/gateway","version":"0.5.2","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.5.2","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"f9f71e4e952651ac211cc2c8249672de454a7263","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.5.2.tgz","fileCount":26,"integrity":"sha512-VJ4uCpPgEeUOKNyag3D3k8GPiWaJgJ4gDyEqraLY5LXtJsmozMSG3Mm68g/2vO/XDj8gXntz+dmZ4cvTGHGxbg==","signatures":[{"sig":"MEYCIQCc/GwcVGI97odM1sC5Xrc/sPtkR1RlXDGG3x1k0BrY3AIhAO3tJa+X1abY+IcPsETq07iujL2CMg7YEKnBhNbBMJAL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123007},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"666d31a4baecf71683c3f039c989ff08948b10ec","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.5.2_1778242918711_0.08230553687585895","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@zhivex-ai/gateway","version":"0.6.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.6.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"c84770cf9b0f1890711908d512fb7037fba6144d","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.6.0.tgz","fileCount":26,"integrity":"sha512-7a5AqDQQGdl8hgFmCr44dNW7niBAXF81+L05O/w4wF3qprHUIxXVJnS5AnlBy9LbbUoTSLGlbBv+Bj2sInXvEg==","signatures":[{"sig":"MEYCIQDJWb1/Vh5JxQcRV9teqxjQ7KOu6L1wimFhVhmvmOyZIgIhAPxVhH96Y1ePr81GLzbdULN01UhIHo6AAj+6kctuTaEo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127136},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0020ca95eade3fc496d41c0aeb2de307abcad120","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.6.0_1778388747351_0.8598674256538452","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@zhivex-ai/gateway","version":"0.7.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.7.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"c6b1277447e4b36d6e819ae4a11ad1c822cfa4f7","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.7.0.tgz","fileCount":26,"integrity":"sha512-hZ3s8EBxgkFX1/HY5MvkeCIybqOteEfwidpLxEPfumQkGloxT/uCBnPu1+75asCht39JoZR9SD+SVw5oLaw8gw==","signatures":[{"sig":"MEQCIF4gohBBFKBVoI0B++oD1M5aZZzVPvDM3RDhkTOSQq2KAiBxXuSGt5Hs2tcnKjpV62noiCFRHeCvffkV7DtUKpr+Zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127625},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5ee69a96e1da9fb906694ca2deaf7e80e1517823","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.7.0_1778634769637_0.706431574213269","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@zhivex-ai/gateway","version":"0.8.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"4016b14f706dceae9e2403b6effc5e08b1e9e544","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.0.tgz","fileCount":26,"integrity":"sha512-MRn0yZTHDRnieI9bGp6icQeQylUg0ZroNyNrKsBWZlAYfWFatIQBWB04Ez955W/w5B/LGTmTcpq6X1alDt08nw==","signatures":[{"sig":"MEUCIHqRlW2IQpbGpmKfESPOGc9z5HiX4KfCQXNcG6jm0j3TAiEA79CDV5d1idn6fAyv586ab0GkPB0MeVAGuAreQc918rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128243},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"14d894c36e1e72b8257920b45d1a5a7f8a66048c","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.0_1780060794468_0.2090751159515023","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@zhivex-ai/gateway","version":"0.8.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"bf23668f8df6ade36c31d80b7c2f85ab74b074c6","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.1.tgz","fileCount":26,"integrity":"sha512-jmf5D+/STKmRrUp96+nVrSVW3MheIZv5WJEoLL8oxtReOXnPTQ7VgtqxhPMQEp4NOjYgEhfAbkUo+3ROjXvR0w==","signatures":[{"sig":"MEYCIQCMZOQlocCRpH2ZaaCxR3/NmUg4dyr1zHEcE2+lHJgINgIhAPoujpkYC5y6nJdm4tQikzLagY5GAWT+oN/+9IZ9yB4V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128243},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"270ae26473f9fd63a03402ec8736d9a47f8e86df","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.1_1780069958330_0.974988192003972","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@zhivex-ai/gateway","version":"0.8.2","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.2","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"ab10ebb153db89f6abbee95ead19d9ab3244930a","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.2.tgz","fileCount":26,"integrity":"sha512-2P3aYhGyCvmOtFASAL2jpH/yGRG5oIH21+zcHXZYfmpoJYNZSSdo9ywk+hVbwxVLZENHZ3GsgJMBhPbAE2zxgg==","signatures":[{"sig":"MEQCIDfOefb8wxCaD1OpLMTju5nTmbsy6reHsGn5hqswq4/8AiBsnxnHMLNn3gD2OMNNoPCgUF5UCC05TYdNjc0FKTHB0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128243},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"37b057435589713be858b9e093d37e48b4048aea","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.2_1780247075328_0.048244691806653694","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@zhivex-ai/gateway","version":"0.8.3","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.3","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"92c8dbff2a426bb7f27651545ed64dd099e15971","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.3.tgz","fileCount":26,"integrity":"sha512-Zz/2tohgMrRJFyd6W4/LumX/i80D01nerOwCWCt7p/jxowa1ICuYYPkNbJSqVb/YaWflloBIrPdAP0S6z8IU2g==","signatures":[{"sig":"MEQCICIXGDkqt7x8y2nP/g32xZdFw+YWP2c7iBjyAdkvFSoYAiBO1vzc7gsurUutx5Ryce/9RjD7GZMfB66trzj5rB0zZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128243},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"683ce4ef53b732fef6f655876526ac6a90a52518","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.3_1781060160000_0.863666029127097","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@zhivex-ai/gateway","version":"0.8.4","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.4","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"73f56183eeea57629e15f8f511c53c8183d84c00","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.4.tgz","fileCount":26,"integrity":"sha512-+63XFl0hVIeeOcGCWFGpcN6KoQYUR0AqG13SGOHj5VNTEPcJhjethH5JX1y+Sz2ge/sEt6ZT3N4VEDT+VHGGZQ==","signatures":[{"sig":"MEQCIDQWrCvYZjETdvrcG5q7ypVfhUW8QswCI6ttFPZoJM0zAiAl8IATzYNdebhNPdS8PvnEz7QUo1rr752wkHYxCQB6GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128243},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1c587a3e189b4a3bfd061b0cf88e5a3f0317d0ab","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.4_1783431950495_0.458445964974858","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@zhivex-ai/gateway","version":"0.8.5","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.5","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"783a921b2aef0f70f4c049d8dd80e208fdeadc9c","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.5.tgz","fileCount":26,"integrity":"sha512-nekkKut9sXKHs6dS1/2pKsh/YHbFESBuPCHoCKbh+xPEp+3aDBD5r3tQq2X/SR7ZTORCdSpanIxUbyFY50NIPA==","signatures":[{"sig":"MEYCIQDw73FWB7ZcG4WzPfJLMrpmVKTZamR7m92Pp20CxndpjwIhAJ7hAk/W67qS4f7UaCdRYO8cA/z0BF9zlY+HssdoMbtx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128243},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e4f1714904d7b69b0dba7941a04078dd01095858","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.6.1","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"@zhivex-ai/core":"^0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.5_1783627613710_0.29846546466638335","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@zhivex-ai/gateway","version":"0.8.6","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.8.6","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"7c7a972fc02e7c6e9473483c884e83b67229b2dd","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.8.6.tgz","fileCount":26,"integrity":"sha512-hnTWmh+eD+tCi4wkQAeiXD2ajBi/2M9cP7Wpx8rzBr9HBl23vfpk9lWnrzSW0Gyns2xGgsrdGSuqu3Iwqwkhtw==","signatures":[{"sig":"MEYCIQCdQRKU9Dp1AiFu+7sHMSINZntMGHbjhCoMFNtPRjRSZQIhAIA7IvgA2QDhixWVGc9Sga4PRqY4VIVdssT5S2Mdgrbh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128283},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"33fdcc5a4a3dbc025e32431d32dcd532e35cd12b","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.16.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.8.6_1783637856785_0.47618844071758004","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@zhivex-ai/gateway","version":"0.9.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.9.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"db491e1c45b2c7dcb5ebfe06dc5e20982889c315","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.9.0.tgz","fileCount":26,"integrity":"sha512-7iqToGB+Ejg0REWQvC5R792UtroJs5diJaxRnEyWOT1OToFg3YSkqnUPKsGvdTLhViUNqJLtQau1AynQuqqKjQ==","signatures":[{"sig":"MEYCIQC6nNjuouVCOVSV0lqdgXTPiwETEu8HG2UeaLoVDQXPLgIhAMomAsgOhj47pBnaKw8r1/THj/t1hS512dy2MdU5LEUI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128280},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4fc2a77beb747ff7f3cd2b01ed9a3c0d5e522c6b","_npmUser":{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"10.9.4","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@zhivex-ai/core":"^0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.9.0_1783654462874_0.1547879334780593","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@zhivex-ai/gateway","version":"0.9.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.9.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"086b262249edb66f0bf9b3453244e0b031c650d4","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.9.1.tgz","fileCount":14,"integrity":"sha512-Yxjycf6TDoLfWL7r3aRiNg2w2qV9zn7lvp26gvrEmILidwaOqE+zg6wV4qvkJb93lWVVvaPJI03e5Lh3085ysA==","signatures":[{"sig":"MEQCIHOZugxxQDpvMYcFGWKi5G2TgBI6WeX+Lc8/djt6TEUfAiBiMlI221/VVJatke+qHWxXrdX6bFcdOLHc3sP3zjxTMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75865},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e7f1a0be5d053a37e1adb0eebad562b46d4be564","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.9.1_1784484895098_0.2085998878389992","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@zhivex-ai/gateway","version":"0.9.2","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.9.2","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"f8d8676fd7663e872a0b387f45857f99becadb76","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.9.2.tgz","fileCount":14,"integrity":"sha512-jiEa22Be1VL+N7b/179retQ3qhN3iFQ7TmXyP+OAkIVa2k3OcscodO37WRuUKdzqqaAavwMWTo5+MM1TTBt6sA==","signatures":[{"sig":"MEUCIEo47OXlTP5gXO6rPj/DIHDGQKSk/UuW1P7acWoPOHSdAiEAxVUVuJP66fp6iLqBs6DFQAJfsn+bbSydYYjD7J+Lcw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75865},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fcd3fd70672cdd04a514f120cbe032f25557b6ec","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.9.2_1784856584973_0.25312235105272696","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@zhivex-ai/gateway","version":"0.9.3","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@0.9.3","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"b582042bb4d081e49de2f65707e55ee5a50ef005","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-0.9.3.tgz","fileCount":14,"integrity":"sha512-55c3lP9SFJ70u0JyqJDsROTeszFC/r65f7sJFqnRt1l/hP5TA996M+s7tsX2L+aNHlbTrjxpeUJoZU0dWCi6qg==","signatures":[{"sig":"MEYCIQCusDPvxBiJ8rAAI1ZEInWBGhXfebOd50eEwUu6WkhcqgIhAJv6/8L1cbMV0p8OxVSeZPHlf0zsUQodg4SKtUBNtBgj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75865},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3848095625a81a72815f20322b3b260a9fd39996","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_0.9.3_1784934252859_0.07341081169966568","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@zhivex-ai/gateway","version":"1.0.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.0.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"b2c520bb62226f740cd8a457ce0b5d8e9bc8c33c","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.0.0.tgz","fileCount":14,"integrity":"sha512-HNPt/axHme/dSDLKFKVYSiY315Pvo+mWMZDRP9CsYntCOYNO7zLbFzLuVV+3/3u0a2OuEq2JjBu/9FwOm/smlA==","signatures":[{"sig":"MEYCIQCG3YtkDFFrGOSdRiouye4ub9+jkg49TRBuoBwoL47kkgIhAKQ69bM/O0orOt2R2d+++wX04wBESSbFNkrC7e5SMRyU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95212},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c2d99e9da64eb84f2eff22ad34f745e0f6b8761d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.0_1784999308955_0.9374550589493487","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@zhivex-ai/gateway","version":"1.0.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.0.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"5133170131f1259398acb9a05c47f89519c52d74","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.0.1.tgz","fileCount":14,"integrity":"sha512-jvQtOU9P+V8znJRjx7djtukWehbw+aPRwAs2U8ms+Y5daDb2P7ofKudj2pBP7Fhi00lQf5gwOYznzVRQpwQMhQ==","signatures":[{"sig":"MEUCIHDSdi1vD94OnEH09RONaVuJMyBjUIj4WpL8bi8G6Q+kAiEAjshUY4HIJdA5v4XJLSLSPWCW0reGN5isF0ixKqx1upE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95382},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4829154eb6de8ec2d940e341dc6eb0d76c02265a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.1_1785433584678_0.7571889658271163","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@zhivex-ai/gateway","version":"1.0.2","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.0.2","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"1b7fae059cc2f1a05a161b69d4a386c363de668a","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.0.2.tgz","fileCount":14,"integrity":"sha512-oZplB+IMvnrhJtunC13VDImbf3UsxOcFjnpee5BWaTJEbudAv39tsB/k3mdEe2VoYMdEGxP7nYaMbxWcfYDFAg==","signatures":[{"sig":"MEUCIQDk9+q9TzB2YLXg4gfzA2sq1GSm1tqAC8DhvjsIw2FjwwIgEvi7+hYjcCLz7LgyBu2KLhB+nx89EE0doqHAW8mJIrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110455},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8fc619d62a3a6b56eb7fcacc8f0f2d250948bbea","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.2_1785501088377_0.7975131890770908","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@zhivex-ai/gateway","version":"1.0.3","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.0.3","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"b19c676a8d6b044c3da3a1fb873c72cbc5f2dd2c","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.0.3.tgz","fileCount":14,"integrity":"sha512-ELcBde4DRvnogp3EGlLJ4bqq0F46dII25FwL2G3sgj4Dez4CxORfxi32lvXDPazg3srNExo+zbk2JW8uGyn0KQ==","signatures":[{"sig":"MEUCIBdp+F+TGGLbjf0DAFLCV81KFN+AH8R+2dtHdtVvafl0AiEAhGZffYCj7bW2Laju3RjZdMKMiIA36Gg4uVMfWAs5BGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111302},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.0.3.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.0.3.tgz","_integrity":"sha512-ELcBde4DRvnogp3EGlLJ4bqq0F46dII25FwL2G3sgj4Dez4CxORfxi32lvXDPazg3srNExo+zbk2JW8uGyn0KQ==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.16.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.0.3_1786235473875_0.46635076187886515","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@zhivex-ai/gateway","version":"1.1.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.1.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"fedd3e449ee37da58d7ecd7c727eeaff3a9e0f15","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.1.0.tgz","fileCount":14,"integrity":"sha512-dk7U9IJu28DFeGSXL61sSQUPsJcXrTmk4EpKWfioDaqDpepyjpYmJNAJScs8FsJ+T6g7pXpmKbQSy1vz4q8b8A==","signatures":[{"sig":"MEYCIQDxH+NVvBRxnw+1wxN4e8+g/0n6HoCauceumbn3n+NHvwIhANvIVUkbzRCS9Aea2KyUukJveKB+vUQM4VpKQS6wclR1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111341},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.1.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.1.0.tgz","_integrity":"sha512-dk7U9IJu28DFeGSXL61sSQUPsJcXrTmk4EpKWfioDaqDpepyjpYmJNAJScs8FsJ+T6g7pXpmKbQSy1vz4q8b8A==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.17.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.1.0_1786715266365_0.5530804727281091","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@zhivex-ai/gateway","version":"1.2.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.2.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"5bd0002075bc8ee1cc9cad49e0fa97683f981279","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.2.0.tgz","fileCount":18,"integrity":"sha512-zBae2V1W9aWCpznzxODaGoaq1dMccrd0HnP2/H+uXSsnXfNdw0st/zhogwe3g3RKdXVvT+BFxKb+STf4parQZA==","signatures":[{"sig":"MEQCIARp3QVRbHbEVYtTQ8EkpkxLaCHxcucVtxItTdDioKPrAiAsWntckSkIHzQKjUKruFJv7qkckW6UZlOWjlMWnUa8IQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":142081},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.2.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.2.0.tgz","_integrity":"sha512-zBae2V1W9aWCpznzxODaGoaq1dMccrd0HnP2/H+uXSsnXfNdw0st/zhogwe3g3RKdXVvT+BFxKb+STf4parQZA==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.2.0_1788822536861_0.2809982598525904","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@zhivex-ai/gateway","version":"1.2.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.2.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"cf102a2cede41619968938c027a363d4499e2851","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.2.1.tgz","fileCount":18,"integrity":"sha512-ahqyrK/JHgCLRrpIxjuDDujrmgK5b4qM2sumRJ/ApTRvsWyjYVhX4fTjjKnLIILKXS7a9YRhhS7wsiSRCxKP7g==","signatures":[{"sig":"MEUCIQD28+jXAgzuc6AmI8vRZDb6zbsEkzkkp4/tDlNWJIjWlwIgCmbjOcNh/sWypO8VPLceYG/PTe+8GatiOBhdJAtVIxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147297},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.2.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.2.1.tgz","_integrity":"sha512-ahqyrK/JHgCLRrpIxjuDDujrmgK5b4qM2sumRJ/ApTRvsWyjYVhX4fTjjKnLIILKXS7a9YRhhS7wsiSRCxKP7g==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@zhivex-ai/core":"^1.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.2.1_1788912492602_0.937370028964752","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@zhivex-ai/gateway","version":"1.2.2","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.2.2","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"94a2cc2a8ea67e64b05aa825ece9d0f57c0e1c95","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.2.2.tgz","fileCount":18,"integrity":"sha512-eYpvlTNUC809EFKzTSkRknBGp0reCbXpizAOr8DcHPnKkvXHlsKHnvZLdQHh/dPg63CMuhx4DRCyVLlWCx9+Og==","signatures":[{"sig":"MEUCIA4LgGMc0AVbCjAGYLQIqrXDDUUyC7XbJlGhOYtyzkLSAiEAmfUsliKpSo4lSktOMMhz82Bker+xnYdsM3KWU3xDRiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGR9GiLREYtC81R3S3I2O6bAll8GDR5GOueF2EHJxiw3AiASN8NVofqDeISbtsGUNU6fXLPq352HshwHrHzp3e0UsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147328},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.2.2.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.2.2.tgz","_integrity":"sha512-eYpvlTNUC809EFKzTSkRknBGp0reCbXpizAOr8DcHPnKkvXHlsKHnvZLdQHh/dPg63CMuhx4DRCyVLlWCx9+Og==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.16.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.2.2_1789256438088_0.14486620107539694","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@zhivex-ai/gateway","version":"1.3.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.3.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"fd4dd3446486797ea8e084e1b1183e43098ae1cc","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.3.0.tgz","fileCount":30,"integrity":"sha512-f7UuUnIf3W8MoU5Jfv1uGvOVaV8Y9y+QY126nguQzEaZ+MBcKkiJ4I1tZGZgDAXKIbK7ZagrarLmUZJj29/oPg==","signatures":[{"sig":"MEUCIQCXg2zI9CoSxS25SHxOCodwBG5pwIgVTDG3noaDgOhh1AIgJn/iOly/sZ55vriqovsfh6RBZcTLau6miuTNLVo8d4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFkjuCkuaICkK5ZUF7F+wRW0o0r0A9vBh1Y7zvDspCWmAiEA6dHgAbDzvTcShfxwQxUTyrRnPedtqwDsHBcQAW6cLbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221997},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.3.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.3.0.tgz","_integrity":"sha512-f7UuUnIf3W8MoU5Jfv1uGvOVaV8Y9y+QY126nguQzEaZ+MBcKkiJ4I1tZGZgDAXKIbK7ZagrarLmUZJj29/oPg==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.3.0_1789477157502_0.8059050549051345","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@zhivex-ai/gateway","version":"1.4.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.4.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"a6a652011401c16750053684c15f978c3face53b","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.4.0.tgz","fileCount":50,"integrity":"sha512-2SEl099o16f4rF3HRRxWTHL5YFqBHXJtVnxviWkAoZqqZvtX/+JVzfW1GtXFIr5EL1AXpxpQemqSbHQTHGklgQ==","signatures":[{"sig":"MEQCIAoYskVtGW23lJMtHChj5w4N2y8ltVazaZGT9r5UzgzDAiBK1QO69gmzNSiyHhyyg3y0Leqkkl5Gfxpc7v8AL6AyxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC/sEqVzhcSzpBkv96aH0JOtuTmT9kchpPt95K8XjGWKAIgMOiA7Cdj1YwfiLv5RQ2o6+VK6qrvg7y3Ev85W0iiJys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307002},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.0.tgz","_integrity":"sha512-2SEl099o16f4rF3HRRxWTHL5YFqBHXJtVnxviWkAoZqqZvtX/+JVzfW1GtXFIr5EL1AXpxpQemqSbHQTHGklgQ==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.4.0_1789849095525_0.8405489998075062","host":"s3://npm-registry-packages-npm-production"}},"1.4.1-next.0":{"name":"@zhivex-ai/gateway","version":"1.4.1-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.4.1-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"b7c132947d30907916145786532afee43391edc8","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.4.1-next.0.tgz","fileCount":50,"integrity":"sha512-iODfLi8l0rHj2zdo//oAJrX59n8cuJJexIZaqBavFqEOlIQMoQu//fVtwt+Xdo+6OxAExbq/SxR4ZjMLFOxhEw==","signatures":[{"sig":"MEYCIQCgLaFEWgtMSUjdep9Ane5b1CKIYIqYrCPmgJoaOuKifAIhAI7nS0bXPmp6pCfZJA4ZGLSC85HHHMtQ90ALKiwGJQdb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICXb1o5TbgabpPoqQGKd58XVFs5CzH1o7HhQFYRStE3yAiEAmbaPySFQ1JIG9FHE3D4E4lq0lbtVwsGZk/rvHrxBPD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.4.1-next.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307016},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.1-next.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.1-next.0.tgz","_integrity":"sha512-iODfLi8l0rHj2zdo//oAJrX59n8cuJJexIZaqBavFqEOlIQMoQu//fVtwt+Xdo+6OxAExbq/SxR4ZjMLFOxhEw==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.23.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_1.4.1-next.0_1790122825892_0.9526223460898069","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@zhivex-ai/gateway","version":"1.4.1","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.4.1","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"ba2d90fc6a990b428861c13de2948e7134831489","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.4.1.tgz","fileCount":50,"integrity":"sha512-HTBbmpS7cU4dVbcjErvI6Pd0ZHykniSfBAdS+ezBvrLXvvLD85I6mv1e8Ci9suf+ozszTz4cKLNlxQj8QLSBCQ==","signatures":[{"sig":"MEUCIADR3Lgmypdp5o0l6gblZ++k1RMoUXNf5YVSZrFaLvuSAiEAsJHVzmUzxujHFqyU2impUCsL7ZazSNpgMTlr7J4Qrvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDdijP/lBsxIggYRbcv6z8fNGOag6Irfy4ifw5qTZ5uMQIgXm/oJQeXYWpEsn596j6CfUz/51IhWIvHGfRc4irMJHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307002},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.1.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.1.tgz","_integrity":"sha512-HTBbmpS7cU4dVbcjErvI6Pd0ZHykniSfBAdS+ezBvrLXvvLD85I6mv1e8Ci9suf+ozszTz4cKLNlxQj8QLSBCQ==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway_1.4.1_1790203706407_0.8139312157437397","host":"s3://npm-registry-packages-npm-production"}},"1.4.2-next.0":{"name":"@zhivex-ai/gateway","version":"1.4.2-next.0","keywords":["ai","sdk","gateway","routing","typescript"],"license":"MIT","_id":"@zhivex-ai/gateway@1.4.2-next.0","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"9e6f155f65003eaf53ceb8e658cca2616e8229f1","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.4.2-next.0.tgz","fileCount":50,"integrity":"sha512-4chrYCZqgiBtZ5AAIDyc1CzAFyIO7+gYZU89XJ2w9yfOePl9TNTRZpeFwZX8tDqTFE5FeEv+6Uo6xypQEIxzKg==","signatures":[{"sig":"MEYCIQDs7JEs4uquGQkR5H52ZLJMh9pC29WSsfwU4/quJviVYgIhAPs33tl2HjmR6k04j7nf2GzXGCs2yuwK8GQ7Oo91fWpF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDLXAQ8zY6/jC0DifzpdjWjwe3G9Fhzy7Fct6u94CcNIQIhAOmTA+Hq3BH8tspRw9xERT3/ULA/RLpcGbvrtKUkzBiG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.4.2-next.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307055},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.2-next.0.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.2-next.0.tgz","_integrity":"sha512-4chrYCZqgiBtZ5AAIDyc1CzAFyIO7+gYZU89XJ2w9yfOePl9TNTRZpeFwZX8tDqTFE5FeEv+6Uo6xypQEIxzKg==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.24.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway_1.4.2-next.0_1790334773055_0.8689708423855864","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"_id":"@zhivex-ai/gateway@1.4.2","bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"dist":{"shasum":"5e20142f3899f4d57895c3f4c0c074131af04fb1","tarball":"https://registry.npmjs.org/@zhivex-ai/gateway/-/gateway-1.4.2.tgz","fileCount":50,"integrity":"sha512-qR9+br1hgQF7t2G0Q1BqD3h/J55gX5ZhXUjPx4PsvAUJSATVNtHJddGWhcQjBjlBcsrPt9QsgOX8sAH7Pemzww==","signatures":[{"sig":"MEYCIQD7uC1uvrOslULA1E8JUA0eWSqjFvKyM7WtbHdXxQuacgIhANlRAtRkL/7WAFURlDsm50ICMAlXrtqXhn50Zz+sq2Cl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFS2B3olAFrlYLGGcqpZE0fbwz4CrG3nBz+yy0ftR5IVAiBoaLWycl5ae0sRRPEADqlqU0zwlrjiUP7StLPuF7GT7Q=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fgateway@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307041},"main":"./dist/index.js","name":"@zhivex-ai/gateway","type":"module","_from":"file:/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.2.tgz","types":"./dist/index.d.ts","engines":{"bun":">=1.3.7","node":">=18.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"MIT","version":"1.4.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44f87b32-e2d9-4836-a406-6c966bf44a06"}},"homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","keywords":["ai","sdk","gateway","routing","typescript"],"_resolved":"/home/runner/work/zhivex-ai-sdk/zhivex-ai-sdk/.release/tarballs/zhivex-ai-gateway-1.4.2.tgz","_integrity":"sha512-qR9+br1hgQF7t2G0Q1BqD3h/J55gX5ZhXUjPx4PsvAUJSATVNtHJddGWhcQjBjlBcsrPt9QsgOX8sAH7Pemzww==","repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"_npmVersion":"11.19.0","description":"Routing and fallback helpers for Zhivex AI SDK.","directories":{},"maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.6.3","@zhivex-ai/core":"^1.24.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gateway_1.4.2_1790369962537_0.6667902269867971"}}},"time":{"created":"2026-03-23T15:01:25.445Z","modified":"2026-09-25T20:59:22.958Z","0.1.0":"2026-03-23T15:01:25.730Z","0.2.0":"2026-03-24T15:11:06.528Z","0.2.1-next.0":"2026-03-26T00:25:13.465Z","0.2.1":"2026-03-26T00:32:15.477Z","0.2.2-next.0":"2026-03-31T01:25:23.934Z","0.2.2":"2026-03-31T13:50:01.802Z","0.3.0-next.0":"2026-04-01T17:10:54.523Z","0.3.0":"2026-04-08T12:48:54.827Z","0.3.1-next.0":"2026-04-09T23:59:10.751Z","0.4.0-next.0":"2026-04-16T18:19:23.126Z","0.4.0":"2026-04-17T15:24:16.969Z","0.4.1":"2026-04-21T00:05:17.074Z","0.5.0-next.0":"2026-04-24T12:37:54.331Z","0.5.0":"2026-04-27T00:46:24.371Z","0.5.1-rc.0":"2026-05-04T23:16:57.401Z","0.5.1":"2026-05-05T01:55:23.771Z","0.5.2":"2026-05-08T12:21:58.891Z","0.6.0":"2026-05-10T04:52:27.490Z","0.7.0":"2026-05-13T01:12:49.795Z","0.8.0":"2026-05-29T13:19:54.604Z","0.8.1":"2026-05-29T15:52:38.482Z","0.8.2":"2026-05-31T17:04:35.468Z","0.8.3":"2026-06-10T02:56:00.134Z","0.8.4":"2026-07-07T13:45:50.620Z","0.8.5":"2026-07-09T20:06:53.883Z","0.8.6":"2026-07-09T22:57:36.926Z","0.9.0":"2026-07-10T03:34:23.012Z","0.9.1":"2026-07-19T18:14:55.237Z","0.9.2":"2026-07-24T01:29:45.126Z","0.9.3":"2026-07-24T23:04:12.992Z","1.0.0":"2026-07-25T17:08:29.096Z","1.0.1":"2026-07-30T17:46:24.810Z","1.0.2":"2026-07-31T12:31:28.519Z","1.0.3":"2026-08-09T00:31:14.028Z","1.1.0":"2026-08-14T13:47:46.787Z","1.2.0":"2026-09-07T23:08:57.018Z","1.2.1":"2026-09-09T00:08:12.743Z","1.2.2":"2026-09-12T23:40:38.175Z","1.3.0":"2026-09-15T12:59:17.589Z","1.4.0":"2026-09-19T20:18:15.621Z","1.4.1-next.0":"2026-09-23T00:20:25.989Z","1.4.1":"2026-09-23T22:48:26.495Z","1.4.2-next.0":"2026-09-25T11:12:53.156Z","1.4.2":"2026-09-25T20:59:22.623Z"},"bugs":{"url":"https://github.com/Zhivex/zhivex-ai-sdk/issues"},"license":"MIT","homepage":"https://github.com/Zhivex/zhivex-ai-sdk#readme","keywords":["ai","sdk","gateway","routing","typescript"],"repository":{"url":"git+https://github.com/Zhivex/zhivex-ai-sdk.git","type":"git","directory":"packages/gateway"},"description":"Routing and fallback helpers for Zhivex AI SDK.","maintainers":[{"name":"mortiz.zhivex","email":"mortiz@zhivex.com"}],"readme":"# @zhivex-ai/gateway\n\n## Vertex partner routing\n\nRegister one Vertex adapter with Google Cloud credentials. The publisher stays\ninside `modelId`; the gateway provider remains `vertex` for Google-hosted models.\n\n```ts\nimport { createGateway } from \"@zhivex-ai/gateway\";\nimport { createVertex } from \"@zhivex-ai/vertex\";\n\nconst gateway = createGateway({\n  adapters: { vertex: createVertex({\n    projectId: process.env.GOOGLE_CLOUD_PROJECT,\n    location: \"global\"\n  }) },\n  maxRetries: 0\n});\n\nconst result = await gateway.generate({\n  primary: { provider: \"vertex\", modelId: \"openai/gpt-oss-120b-maas\" },\n  fallbacks: [{ provider: \"vertex\", modelId: \"gemini-3.7-flash\" }],\n  messages: [{ role: \"user\", content: \"Explain a binary search.\" }]\n});\n```\n\nThis requires working ADC or another bearer credential resolved by Vertex.\nModel permissions, regional availability and quotas apply separately to each\ntarget. See the [Vertex provider](../vertex/README.md) for route-specific limits.\n\nRouting and fallback package for Zhivex AI SDK.\n\nThe gateway now supports:\n\n- `generate()`\n- `streamText()`\n- `generateObject()`\n- `streamObject()`\n- `runAgent()`\n- `streamAgent()`\n\nTool loops run in one Core execution; later model steps can fail over without replaying completed tools. Streaming fallbacks are resolved before the first provider event is emitted.\n\nFor agent routing, the gateway can also filter by `agentCapabilities`, such as provider support tier or approval-capable MCP support, before selecting the final target.\n\n## Install\n\n```bash\nbun add @zhivex-ai/gateway @zhivex-ai/core @zhivex-ai/anthropic @zhivex-ai/openai @zhivex-ai/ollama @zhivex-ai/vertex\n```\n\nInstall the provider packages used by your own adapter map; these examples use OpenAI, Ollama, Anthropic and Vertex.\n\n## Usage\n\n```ts\nimport { createGateway } from \"@zhivex-ai/gateway\";\nimport { createOpenAI } from \"@zhivex-ai/openai\";\nimport { createOllama } from \"@zhivex-ai/ollama\";\n\nconst gateway = createGateway({\n  adapters: {\n    openai: createOpenAI({ apiKey: process.env.OPENAI_API_KEY }),\n    ollama: createOllama()\n  },\n  maxFallbacks: 8,\n  maxRetries: 1,\n  maxTotalAttempts: 16,\n  attemptTimeoutMs: 15_000,\n  streamIdleTimeoutMs: 60_000,\n  observerTimeoutMs: 1_000,\n  unknownCostPolicy: \"reject\"\n});\n\nconst abortController = new AbortController();\n\nconst result = await gateway.generate({\n  primary: { provider: \"openai\", modelId: \"gpt-4o-mini\" },\n  fallbacks: [{ provider: \"ollama\", modelId: \"llama3.2\" }],\n  messages: [{ role: \"user\", content: \"Summarize the benefits of fallback routing.\" }],\n  routingMode: \"balanced\",\n  maxCostPer1kTokens: 0.01,\n  abortSignal: abortController.signal\n});\n\nconsole.log(result.text);\nconsole.log(result.providerUsed);\nconsole.log(result.attempts);\n```\n\nThe gateway also supports `streamText()`, `generateObject()`, and `streamObject()` through one Core generation loop. A provider is fixed once its stream emits, while a later model step in the same tool loop can still fail over before emitting provider output. Object routes skip incompatible targets before making a provider call: native mode requires `structuredOutput`, prompted mode requires `jsonMode`, and auto mode accepts either capability. In auto mode, the gateway prepares native output or a schema prompt for each destination independently, and `objectMode` reports the mode used by the final provider.\n\n## Routing guarantees\n\n- Text, object, and agent operations retry eligible failures on the current target and then continue through the ordered fallback targets. Agent routing happens inside one `runAgent()` or `streamAgent()` execution, so a fallback does not restart the agent, duplicate its run, or replay completed tools.\n- Text and object streaming fallback is resolved before the first event is exposed. Agent streams may expose lifecycle events such as `agent-run-start` first, but provider fallback is resolved before the first provider event. Once a provider stream emits an event, an error from that stream is propagated without mixing in another provider's transcript.\n- `attemptTimeoutMs` and the per-provider `attemptTimeoutsMs` do more than reject the gateway promise: they abort a non-streaming provider call or a streaming call that has not produced its first event. After the first event, `streamIdleTimeoutMs` and `streamIdleTimeoutsMs` abort a provider that stops producing events; the default is 60 seconds and `false` explicitly disables it. A request-level `abortSignal` remains active for the full operation and stops pending retries, backoff, fallback routing, observers, and active streams.\n- `ProviderHTTPError` is classified by its typed HTTP status. Status `408`, `429`, and `5xx` errors are retryable on the same target. Other `4xx` errors are not retried on that target, but an eligible fallback can still handle a provider- or model-specific rejection.\n- Stream attempts record `provider-success` only after the provider iterator completes; `latencyMs` covers the full attempt. Failures after the first event, including provider error events and cancellation, produce a failed attempt without retry/fallback. `onAgentRoute` still fires on selection after the first provider event, before the terminal attempt exists. Iterator cleanup is best-effort and never delays timeout/cancellation or replaces the original failure.\n- Retry waits honor finite non-negative `ProviderHTTPError.retryAfterMs`, taking the greater of that value and the configured linear backoff, capped at 60 seconds per wait. Caller cancellation interrupts the wait.\n- Attempt diagnostics redact credential-like URL parameters and bearer tokens before they are exposed through `attempts[].errorMessage` or observers.\n- When `maxCostPer1kTokens` is set, a target without configured or catalog pricing is rejected by default. Set `unknownCostPolicy: \"allow\"` on `createGateway()` only when routing to models with unknown cost is acceptable.\n- Requests containing image attachments only route to models that declare `capabilities.vision: true`. The gateway never removes images to make a target appear compatible; if one target cannot accept the original request, it is skipped in favor of a compatible fallback.\n- `scoreTarget(context)` can replace the built-in name-based heuristic with application metrics. It must return a finite number; higher scores route first.\n- Routing amplification is bounded even if a request is assembled from external input: requests accept at most `maxFallbacks` targets (default 8, hard maximum 32), `maxRetries` cannot exceed 5, and `maxTotalAttempts` caps provider calls across the whole routed operation including later agent steps (default 32, hard maximum 128). Model IDs are non-empty, limited to 256 characters, and cannot contain control characters. `maxCostPer1kTokens` and configured/catalog costs must be finite and non-negative.\n- `onAttempt` and `onAgentRoute` are best-effort observers. Legacy callbacks run detached; `observerMode: \"await\"` explicitly awaits attempt callbacks and `\"background\"` queues them with bounded capacity. They receive an `abortSignal` and are allowed `observerTimeoutMs` to finish (default 1 second); rejection, timeout, or request cancellation cannot retry successful provider work or block routing indefinitely.\n\nKeep primary/fallback selection and these ceilings under application control when mapping an HTTP request into `GatewayRequest`. `maxCostPer1kTokens` limits model price, not the final invoice; use `maxTotalAttempts`, provider-side spend limits, authentication, and rate limiting for a complete cost boundary.\n\nFor agent workloads, use `runAgent()` or `streamAgent()` to route by both regular model capabilities and agent-specific capabilities such as `supportTier`, `approvalRequests`, or `remoteMcp`.\n\n```ts\nconst agentResult = await gateway.runAgent({\n  primary: { provider: \"kimi\", modelId: \"kimi-k3\" },\n  fallbacks: [{ provider: \"qwen\", modelId: \"qwen-plus\" }],\n  prompt: \"Use hosted retrieval and an MCP map server.\",\n  requiredAgentCapabilities: {\n    supportTier: \"tier-b\",\n    hostedFileSearch: true,\n    remoteMcp: true\n  }\n});\n\nconsole.log(agentResult.providerUsed);\nconsole.log(agentResult.attempts);\nconsole.log(agentResult.routeDecision);\n```\n\nAgent requests also forward the durable Core controls `runId`, `scope`, `idempotencyKey`, `parentRunId`, `policy`, and `toolApprovalPolicy`. Use a durable store plus `idempotencyKey` for effectful production runs.\n\n## Migration note\n\n`GatewayConfig.groundedAdapters` has been removed because it was not used by any gateway operation. Register provider adapters through `adapters`; `@zhivex-ai/gateway` does not currently expose a grounded-generation route.\n\nThis package is the SDK-local routing layer. It is not the Zhivex-hosted Gateway API and it is not re-exported from `@zhivex-ai/sdk`.\n\nRepository and full documentation:\n\n- <https://github.com/Zhivex/zhivex-ai-sdk>\n\n## Continuing canonical tool history\n\n`GatewayRequest.messages` accepts `GatewayInputMessage[]`, a union of the existing\n`GatewayMessage` (role/content/images) and core `ModelMessage` (role/parts).\nExisting text/image requests remain valid. Each message must use exactly one\nrepresentation; `content` or `images` combined with `parts` is rejected.\n\n```ts\nimport type { ModelMessage } from \"@zhivex-ai/core\";\nimport { createAnthropic } from \"@zhivex-ai/anthropic\";\nimport { createGateway, type GatewayRequest } from \"@zhivex-ai/gateway\";\n\nconst gateway = createGateway({ adapters: { anthropic: createAnthropic() } });\nconst messages: ModelMessage[] = [\n  { role: \"user\", parts: [{ type: \"text\", text: \"What is the temperature in Buenos Aires?\" }] },\n  { role: \"assistant\", parts: [{\n    type: \"tool-call\",\n    toolCall: { id: \"call_weather_1\", name: \"weather\", input: { city: \"Buenos Aires\" } }\n  }] },\n  { role: \"tool\", parts: [{\n    type: \"tool-result\",\n    toolResult: {\n      toolCallId: \"call_weather_1\", toolName: \"weather\",\n      output: { temperatureC: 18 }, isError: false\n    }\n  }] }\n];\nconst request: GatewayRequest = {\n  messages,\n  primary: { provider: \"anthropic\", modelId: \"claude-sonnet-4-6\" },\n  fallbacks: [{ provider: \"anthropic\", modelId: \"claude-opus-4-6\" }]\n};\nconst answer = await gateway.generate(request);\nconst streamedAnswer = await gateway.streamText(request).collect();\n```\n\nHistorical results are input to the model and never invoke a tool executor.\nNew tool calls retain the existing `tools`, `toolExecution`, and `maxSteps` policy.\nFor an error result, set `isError: true` and `error: { message: \"...\" }` instead of\n`output`. Successful results require a JSON `output`, including strings or null.\nTool inputs must be JSON objects. IDs must be unique across the request; results\nmust match both ID and tool name, occur after their calls, and resolve every call\nbefore another conversation turn. Multiple calls and results retain input order;\nresults can arrive in a different ID order, grouped in one or consecutive tool\nmessages. System messages must precede conversation turns.\n\n| Surface / destination | Canonical history support |\n| --- | --- |\n| `generate`, `streamText` | Supported, including usage estimates, attempts, finish reasons, cancellation and routing |\n| `generateObject`, `streamObject` | Same input validation and routing; destination must also support the requested object mode |\n| `runAgent`, `streamAgent` | Fresh canonical history imports; durable resumes use state/runId without resupplying messages |\n| Anthropic Messages | Text, user images, assistant tool calls, tool results and native `is_error` |\n| OpenAI Chat / Responses | Callable tool history, including multiple results; explicit JSON success/error envelopes |\n| DeepSeek Chat | Same JSON envelope support; portable replay defaults to non-thinking; reasoning-only models are excluded |\n| Qwen Chat / Responses | Same JSON envelope support; portable replay defaults to non-thinking; thinking-only models are excluded |\n| Other / older provider adapters | Must explicitly advertise `capabilities.toolHistory`; otherwise skipped with `model-capabilities`, even if `tools` is true |\n\nThe gateway is extensible through `ModelCapabilities.toolHistory`: `\"native\"`\nmeans the adapter preserves error state natively, and `\"json\"` means it honors\n`ModelGenerateInput.toolResultFormat: \"envelope\"`. Anthropic is also accepted for\nbackward compatibility with its existing native mapping. An older OpenAI,\nDeepSeek or Qwen adapter without the declaration is skipped safely. Custom\nadapters can declare support after implementing and testing the same contract;\nthere is no provider-name allowlist for opting in.\n\nFor JSON transports, each tool result is a separate Chat tool message or Responses\n`function_call_output`. Its content/output string contains `{ \"output\": <JSON> }`\non success or `{ \"error\": { \"message\": \"...\" } }` on failure. This discriminant\nkeeps an error-shaped successful value distinguishable from an actual failure.\nCalls and results retain their IDs and order. The original canonical messages and\n`isError` remain unchanged. Direct SDK calls keep their prior raw result format\nunless they explicitly request the new low-level format. Anthropic keeps native\n`is_error`; it does not receive a JSON envelope. Hosted/provider-native tools are\nnot part of this portable callable-history contract.\n\nDeepSeek/Qwen portable replay has no private thinking state: it defaults to\n`thinking.type: \"disabled\"` / `enable_thinking: false` on those destinations only.\nExplicit reasoning/thinking requests are skipped before HTTP; thinking-only\nmodels do not advertise this capability. Text before assistant tool calls is\nsupported. JSON destinations reject text interleaved after calls instead of\nmoving it to the beginning. Anthropic can preserve that interleaving natively.\n\nTool-free canonical text/image messages continue to use normal capability checks.\nAudio, files, provider-data, provider metadata, unsupported roles/parts and unknown\nfields are rejected before provider calls.\nValidation errors contain no message content. Provider failures and caller abort\nreasons for tool-history requests use fixed, sanitized diagnostics. Once a stream\nemits an event, a failure terminates it without retry/fallback; `collect()` rejects\non both thrown errors and provider error events.\n\nRun `bun run test packages/gateway/tests` for regressions. After `bun run build`,\nrun `bun run scripts/gateway-history-package-smoke.ts` for a tarball consumer with\nTypeScript compilation and generation/streaming on all six transport variants\n(Anthropic; OpenAI Chat/Responses; DeepSeek Chat; Qwen Chat/Responses). It installs\ncandidate core/gateway/provider tarballs without checkout links. Add\n`--live --provider=openai` (or `deepseek`, `qwen`, `anthropic`) to require an\nauthorized credential and perform two bounded live calls for one provider. A missing credential is a blocked live check, not\na passing certification. Original candidate-artifact checks and their publication limits are recorded\nin [the historical delivery record](../../docs/history/GATEWAY_TOOL_HISTORY_DELIVERY.md).\n\n## Usage accounting\n\n`generate`, `generateObject`, `streamText().collect()` and `streamObject().collect()` preserve all reported `TokenUsage` fields, including `cachedInputTokens`, `cacheWriteTokens`, `reasoningTokens` and `speed`. Reported zeros remain zeros; missing optional details remain absent. Only missing `inputTokens`/`outputTokens` are estimated from text and a missing `totalTokens` is derived from those base counters. `estimated` is true if any of those three base counters was missing, including a derived total. Reasoning/cache details are never added again to the total. Agent results retain their existing usage aggregation without an `estimated` flag.\n\n## Detailed cost valuation\n\nOpt in with `costAccounting: { unknownCostPolicy: \"allow\" }` and an immutable `modelCatalog` carrying pricing metadata. `routeDecision.estimatedCosts` contains cold-cache preflight estimates from input length and `expectedOutputTokens` (or request `maxTokens`). They are estimates, not spending limits. With `unknownCostPolicy: \"reject\"`, destinations with unknown quotes are excluded before a call. The existing `maxCostPer1kTokens` budget remains independent.\n\nEach actual `attempt` carries its reported `usage` and `cost`, including provider/model, currency, catalog/pricing versions, optional provenance source, components, assumptions and unknown reasons. A failed attempt without usage has `amount: null`; a successful fallback does not make that failure free. Sum amounts only when every actual attempt is known or explicitly estimated; otherwise total cost remains unknown. Streams use terminal usage, and partial stream failures preserve any usage already received.\n\n`calculateModelCost()` is also exported from Core and SDK for standalone valuation. Input tokens must include cached reads and cache writes; these are subtracted from ordinary input before applying their separate prices. Missing cache counters remain unknown unless `cacheAssumption: \"none\"` explicitly assumes zeros. Missing relevant prices or base usage never become a free estimate. Long-context multipliers apply above the catalog threshold to all input classes and output. Zero tokens incur zero cost even when that unused category has no rate; its rate remains null.\n\nReasoning semantics vary between adapters. Set `reasoningAccounting: { openai: \"included\", gemini: \"additional\" }` only for the provider protocols you have verified: included leaves the output count unchanged, additional adds reasoning once. Without an explicit setting, a positive reasoning counter produces an unknown valuation. For standalone valuation this setting is a single string. The catalog does not describe fast-tier pricing, so `speed: \"fast\"` remains unknown. Invalid reported counters produce unknown accounting without retrying a successful model call. This API is neither billing nor a strict monetary budget.\n\n## Local destination metrics\n\nPass `metrics: createGatewayMetrics({ windowMs: 60_000, maxTargets: 128, maxSamplesPerTarget: 256 })` to opt in. Query `metrics.snapshot({ provider, modelId })` for in-flight count, recent successes/errors/cancellations, full-attempt p50/p95 and first-text p95. Cold destinations return undefined; expired samples have no latency estimates. Client cancellation is excluded from provider error and latency samples. The clock is injectable through `now` for deterministic tests.\n\nStorage is bounded by targets and samples. The least recently touched idle destination is evicted when full; if all target slots are active, a new destination remains untracked until capacity is available. No prompts, outputs, error payloads or credentials are retained. The default store is local to the process; applications may inject the synchronous `GatewayMetricsStore` contract. Hook failures are best effort. Do not put expensive synchronous work in a metrics hook.\n\nWith metrics enabled, explicitly returning an event/text/object stream iterator cancels that routed operation and releases the in-flight slot. This applies to all consumers of that operation, including collect. Consume the stream fully if you also need its final result. Caller abort and timeout also release slots even when a provider ignores its signal. An operation with no explicit return/abort continues until completion or timeout; the SDK cannot detect garbage collection as abandonment.\n\n## Circuit breaker and adaptive routing\n\nPass `circuitBreaker: createGatewayCircuitBreaker({ failureThreshold: 5, cooldownMs: 30_000 })` to opt in to local closed/open/half-open circuits. Retryable errors (including 429/5xx and attempt timeouts) accumulate; validation, authentication and client cancellation do not. Open circuits receive no calls. Recovery allows one concurrent probe by default; successful probes close the circuit, failed probes reopen it. Late results from an older circuit epoch cannot close a newly opened circuit. When all eligible circuits are unavailable the operation raises `GatewayCircuitOpenError`.\n\nCooldown is `min(maxCooldownMs, max(cooldownMs, Retry-After))`, with defaults of 60 seconds maximum and 30 seconds minimum. The circuit never sleeps until recovery: it skips the target. Existing bounded retry backoff applies only while the circuit remains closed. Target storage is bounded; closed idle entries may be evicted, while capacity exhausted by active/open entries refuses admission. State observers receive only target IDs, state and timestamps, and run best effort. Metrics/circuit-enabled stream iterator return cancels the operation. Neither feature coordinates across processes.\n\n`adaptiveRouting` is an explicit alternative to legacy scoring. Supply a policy version, nonnegative weights for `latency`, `cost`, `quality`, `load`, `errorRate`, positive `latencyScaleMs`/`costScale`, and explicit `coldStart`, `unknownCost`, `missingQuality` policies (`allow`/`reject`). Quality profiles carry a target, task `intent`, score in [0,1] and evaluation version. There are no model-name quality heuristics in this mode.\n\nThe score is quality reward minus normalized p95 latency, estimated request cost, in-flight load and observed error rate penalties. Enable `metrics` and `costAccounting` for those signals. Missing penalty signals under `allow` receive a conservative normalized penalty (default 1), missing quality/throughput receive no reward, and all remain listed as missing; `reject` excludes the destination. Expired samples become cold start. Capabilities and circuits are filtered before ordering, and circuits are rechecked atomically before each call. Ties preserve primary/fallback input order. `routeDecision.adaptive` records policy version, signals, profile versions and exclusions. Do not configure both `scoreTarget` and `adaptiveRouting`. These rules are transparent heuristics, not a claim of globally optimal routing.\n\n## Composing configured agents\n\nPass `agent: configuredAgent` to `runAgent` or `streamAgent`. The gateway substitutes a routed LanguageModel and uses the existing Core runtime. Context schema, guardrails, output schema, compactor, approval signer, subagents, harness binding, environment, hooks and store remain on the definition. Supply ephemeral `context` on each invocation. Defined request options override definition defaults; policy and metadata merge shallowly. `compaction: false` explicitly disables the default for an invocation. The original definition is not mutated.\n\nConfigured gateway runs persist a `gatewayAgentRouteBinding` metadata value for agent ID, primary/fallback targets, routing policy version and harness fingerprint. Resume must retain that binding; changing it fails before provider work. An older direct run without this binding requires a separately designed migration instead of silent adoption. Core still validates harness/environment fingerprints. Reserve `gatewayAgentRouteBinding` and `gatewayPortableHistory` for runtime use.\n\nFor canonical history, import a fresh run with `messages` only. Do not combine import with prompt, state, runId, handoff, approvals or idempotencyKey. Resolved historical tools are input, never effects to replay. Then resume with store/runId or state and approvals as needed, without messages. Portable-history capability checks survive store reloads and compaction. Legacy inputs remain supported. Provider-specific approval data stays in durable state; it is not part of the portable history import format.\n\n\n## Production controls\n\nAll controls below are optional and compose with text, object and agent routing.\nThey do not require provider-specific changes. Existing default adapter maps and\nlegacy scoring remain supported. Adaptive missing-data penalties are intentionally\nmore conservative than the previous zero-penalty behavior.\n\n```ts\nimport {\n  createGateway, createGatewayAdmissionController, createGatewayBudgetStore,\n  createGatewayMetrics, createGatewayRoutingPolicy\n} from \"@zhivex-ai/gateway\";\nimport { createInMemoryGenerateCache, createModelCatalog } from \"@zhivex-ai/core\";\nimport { createOpenAI } from \"@zhivex-ai/openai\";\n\n// Supply a verified catalog snapshot for your actual models before enabling cost routing.\nconst catalog = createModelCatalog([{\n  provider: \"openai\", modelId: \"your-model\",\n  inputCostPer1kTokens: 0.001, outputCostPer1kTokens: 0.003\n}], { snapshotVersion: \"example-only\", pricing: {\n  version: \"example-only\", currency: \"USD\", unit: \"per_1k_tokens\"\n} });\nconst budgets = createGatewayBudgetStore({ limit: 20, currency: \"USD\" });\nconst gateway = createGateway({\n  adapters: { openai: createOpenAI() },\n  modelCatalog: catalog,\n  costAccounting: { unknownCostPolicy: \"reject\", cacheAssumption: \"none\" },\n  timeoutMs: 20_000,\n  metrics: createGatewayMetrics(),\n  adaptiveRouting: createGatewayRoutingPolicy(\"interactive\"),\n  admission: createGatewayAdmissionController({\n    maxConcurrent: 16, requestsPerMinute: 600, tokensPerMinute: 100_000,\n    maxQueue: 32, queueTimeoutMs: 500\n  }),\n  budget: { store: budgets, currency: \"USD\", reserveAmount: 0.10 },\n  cache: { store: createInMemoryGenerateCache(), scope: \"credential-revision-1\" },\n  affinity: { ttlMs: 300_000, maxEntries: 1000, maxScoreLoss: 0.1 },\n  observerMode: \"background\", observerQueueCapacity: 256\n});\nconst result = await gateway.generate({\n  primary: { provider: \"openai\", modelId: \"your-model\" },\n  messages: [{ role: \"user\", content: \"Explain binary search.\" }],\n  maxTokens: 200, budgetScope: \"tenant-123:2026-09\", cacheScope: \"tenant-123\",\n  affinityKey: \"conversation-456\"\n});\nawait gateway.flushObservers();\nawait gateway.flushControls();\nconsole.log(result.text, gateway.diagnostics(), budgets.snapshot(\"tenant-123:2026-09\"));\n```\n\n### Deadline and admission\n\n`timeoutMs` covers one invocation, including queueing, retries, backoff, tools,\nobservers and streamed output. A request may shorten the configured deadline but\ncannot extend it. Expiration raises `GatewayDeadlineError` and aborts downstream\nsignals. Providers/tools must cooperate to stop external effects; ignoring abort\ncannot keep the gateway response pending indefinitely. Durable resumes start a\nnew invocation deadline. Normal completion removes timers and signal listeners.\n\nAdmission is per provider/model/deployment and happens before every upstream\ncall, including retries and later agent steps. Concurrency slots are released on\ncompletion, abort or stream iterator return. The global queue is bounded and\nwaits at most `queueTimeoutMs`; the local implementation polls at up to 10 ms\nintervals and does not promise strict FIFO fairness. Capacity denial skips to an\neligible fallback without marking the destination unhealthy.\n\nRPM and TPM use fixed 60-second windows. TPM reserves serialized input length / 4\nplus `maxTokens`, and requires `maxTokens`; this is an estimate, not provider token\nparity. Reported total tokens reconcile reservations in the same window; unknown\nusage keeps the reservation. RPM is not refunded after admission. Capacity\npressure never evicts an unexpired quota window. Set upstream provider limits as\nthe final boundary for usage the provider may continue after cancellation.\n\n### Monetary reservations\n\nEach dispatched model attempt reserves `budget.reserveAmount` in the trusted\n`budgetScope`. Successful known usage reconciles that amount against catalog\npricing; failed, cancelled, partial or unpriceable usage retains the reservation\nas uncertain spend. No reservation is made for an exact cache hit. Budget denial\nstops the operation without retry or fallback. The configured currency must\nmatch the catalog valuation to release any unused reservation.\n\nThis limits **admitted reservations**, not the exact provider invoice. Choose a\nconservative per-attempt reservation alongside `maxTokens`; actual reported cost\ncan exceed the reservation and is recorded fully, blocking subsequent work when\nthe scope is exhausted. Unknown spend remains blocked until the application\nreconciles its accounting externally. Local scopes never evict or automatically\nreset; use explicit period scopes and bounded `maxScopes`. Do not use arbitrary\nclient-supplied scope values. For authoritative billing, implement the store\nagainst the service's durable ledger.\n\n`GatewayBudgetStore` and `GatewayAdmissionController` are asynchronous injection\ncontracts for shared backends. The supplied factories are process-local; they do\nnot implement Redis or cross-process coordination. Remote implementations must\nreserve atomically, expire abandoned concurrency leases, honor abort and make\nsettlement/release idempotent. Settlement runs outside the provider response path. Failed or timed-out settlement\ncannot retry successful provider work; diagnostics report it and further budgeted dispatches fail closed on that\ngateway instance. Recover the backend/ledger before replacing the instance.\n\n### Adaptive policies and destination identity\n\n`createGatewayRoutingPolicy(\"interactive\" | \"economy\" | \"quality\")` returns an\nexplicit versioned starting policy. Configure quality profiles for economy and\nquality presets, which reject missing quality. Calibrate costs and latency scales\non your workload; presets are not measured service-level guarantees.\n\n`latencyMetric: \"ttft\"` uses first-text latency; `\"total\"` retains full-attempt\nlatency. Optional `weights.throughput` uses measured median output tokens/second\nwith `throughputScale` (default 100). Throughput is an approximation using reported\noutput tokens minus the first token and elapsed time after first text. Cache hits\nand cancellations do not supply provider latency evidence. `minSamples` prevents\nsingle samples from being treated as mature health evidence, and `minQuality`\nenforces an evaluated quality floor before ranking.\n\nAllowed missing latency/cost/load/error signals incur `missingSignalPenalty`\n(default 1, minimum 1). They are never represented as measured zero cost/latency.\n`explorationEvery` optionally probes one eligible cold destination every N\noperations; presets use 20. Exploration rotates candidates and cannot bypass\ncapability, cost, quality-floor or circuit exclusions. It is local and deterministic,\nnot a learned optimal policy.\n\nA target may supply `deploymentId`. Register it in\n`deployments: { \"region-a\": { provider: \"openai\", adapter } }` with an adapter\nconfigured for that endpoint, region and credential. Unknown or mismatched IDs\nare skipped without silently using the default adapter. Deduplication, metrics,\ncircuits, quotas, quality profiles, cache partitions and attempt diagnostics\ninclude deployment identity. Catalog pricing still uses provider/model identity;\ndeployment-specific negotiated tariffs require a separate pricing design.\n\nOptional affinity requires adaptive routing and both `cacheScope` and\n`affinityKey`. After a successful attempt, subsequent invocations may reuse that\ndestination only if it remains eligible and within `maxScoreLoss` of the best\nscore. Expired entries are ignored; capacity evicts the oldest stored affinity.\nExploration takes precedence. This promotes provider prompt-cache locality; it\ndoes not prove an upstream cache hit or change provider caching parameters.\n\n### Exact cache and observer lifecycle\n\nGateway caching reuses Core's canonical cache key middleware and configured store.\nIt requires both a configured authentication scope and a per-request `cacheScope`;\nkeys additionally include budget scope and deployment. Rotate the configured scope\nwhen credentials/endpoints change. Store TTL/retention belongs to the selected\nCore cache implementation. No semantic similarity cache is enabled.\n\nOnly non-streaming text-only model steps without tools or `providerOptions` are\neligible. Tool effects, portable tool history, images and provider state bypass\nthis cache. Identical simultaneous misses share one upstream call (up to 1024\nactive keys). One caller cancelling does not cancel the other subscribers; all\nsubscribers leaving aborts the shared call. Cache reads time out after `cache.timeoutMs` (default 50 ms); writes are detached,\nbounded to 256 pending operations and use the same timeout. Cache failures do not\nretry successful provider work. `flushControls()` waits for the current cache-write\nand resource-settlement batch; resource settlements have `resourceTimeoutMs`\n(default 1000 ms). Pending counts and dropped cache writes are available in diagnostics. `attempt.cacheHit` identifies reuse, and detailed attempt valuation\nuses zero new upstream tokens; response usage still describes the reused output.\nA coalesced follower is also a reuse; correlate requests with your application\nledger when attributing the originating call's cost.\n\nThe legacy observer behavior stays detached. `observerMode: \"background\"` adds a\nbounded FIFO attempt queue, `diagnostics().droppedObservers`, and\n`flushObservers()` for the currently queued batch. Every callback remains bounded\nby `observerTimeoutMs`. `\"await\"` explicitly awaits attempt observers. None of\nthese modes can preempt synchronous CPU work inside a callback. Route-selection\nobservers keep their existing detached behavior.\n\n\n### Verification\n\nRun `bun run test packages/gateway/tests` for routing and resource-lifetime\nregressions. After `bun run build`, run\n`bun scripts/benchmarks/gateway-controls.mjs /tmp/gateway-controls.json` to compare\nlocal default/control overhead and verify exact-cache/shared-miss provider call\ncounts. The benchmark asserts correct answers and actual fixture calls, includes\nruntime/source/artifact fingerprints, and explicitly excludes live provider\nperformance or competitive claims. Its five measured trials are a smoke baseline,\nnot a statistically reliable production tail-latency estimate.\n","readmeFilename":"README.md"}