{"_id":"@durable-streams/aisdk-transport","_rev":"8-3bc71c8d9fa494d7220f2141f1188d4d","name":"@durable-streams/aisdk-transport","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.1":{"name":"@durable-streams/aisdk-transport","version":"0.0.1","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.1","maintainers":[{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"dist":{"shasum":"5b97edc7515ec95fc988ef499c99886a6642f6a5","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.1.tgz","fileCount":10,"integrity":"sha512-yqjfxbIkLMsMtHpRJuh7yMBGJCWPGSMbNoMOHPTjx56z9owWC5zDQh1sfT8lrogS3dGjNWhF6V19lmgfkZEw4g==","signatures":[{"sig":"MEUCIQCJK+F9EgejRORSaWWq6aVgDNsizbD/YAiLbWXUxNQV8QIgeAB+QR4EfbW8GMZTVB099mBdr+YLYyxdvy9UvN9j7IY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34101},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"gitHead":"e61b1457645deae0a6c1edacebe133e1842ce3e3","scripts":{"dev":"tsdown --watch","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kylemathews","email":"mathews.kyle@gmail.com"},"repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.11.0","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.13.1","dependencies":{"ai":"latest","@durable-streams/client":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.1_1774325252168_0.1503833102187817","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@durable-streams/aisdk-transport","version":"0.0.2","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.2","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"dist":{"shasum":"a62a50decdc11ff8e497598e468ef469468f6871","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.2.tgz","fileCount":11,"integrity":"sha512-uijgw0V5SfpzpaBip/tgzLGyJXQ2Mo+gb/X23AZQGlnMT1haBork2eJTQj4X8fGSTrrp5dbuOsM23QF4IgTKKA==","signatures":[{"sig":"MEQCIGfkYiMXFt1Mieum2mkjxA4wLHK1sY0kd8zBHXvHjUKHAiAHPBjb2F1mDLI9xd0n0/9SDulx5wRvlhLWefV4RrlH0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35165},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-aisdk-transport-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"_resolved":"/tmp/1e4ed4ae034951ae2818ddd72db912a4/durable-streams-aisdk-transport-0.0.2.tgz","_integrity":"sha512-uijgw0V5SfpzpaBip/tgzLGyJXQ2Mo+gb/X23AZQGlnMT1haBork2eJTQj4X8fGSTrrp5dbuOsM23QF4IgTKKA==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.12.0","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","dependencies":{"ai":"latest","@durable-streams/client":"0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.2_1774452495272_0.5077818761392832","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@durable-streams/aisdk-transport","version":"0.0.3","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.3","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"c1984aa50a95a7bcc77f31fd2b8305a1069ed8f6","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.3.tgz","fileCount":13,"integrity":"sha512-gecbbLl4OzZA+ehSbDWSwjYtWbqcY4DEkqpHxAcLwJ40ZKz+hAa0Hu1PvU0uo6ZEQfMciG2cCczJXf+D0kd/rw==","signatures":[{"sig":"MEUCIQDiD2bgWbcijnrtuTEQFLMLPMXmKcr7Bnj9CRFtlsvs6QIgWO+IuKy2jIC/OJ0rVsWiTV6I04trtYEY4Ns/j5nGbcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40922},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-aisdk-transport-0.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"_resolved":"/tmp/5861b158d18a4b872aec3034096e67b8/durable-streams-aisdk-transport-0.0.3.tgz","_integrity":"sha512-gecbbLl4OzZA+ehSbDWSwjYtWbqcY4DEkqpHxAcLwJ40ZKz+hAa0Hu1PvU0uo6ZEQfMciG2cCczJXf+D0kd/rw==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.12.1","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"ai":"latest","tsdown":"^0.9.0","@tanstack/intent":"latest"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.3_1776088516979_0.5004082437295956","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@durable-streams/aisdk-transport","version":"0.0.4","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.4","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"3cddc9b06e0aacbd69694d0b1b3c104a0b8dbc90","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.4.tgz","fileCount":13,"integrity":"sha512-uGeuS6Z0Gm02KNZdOgG8BMYglIoSoWCAc3JegM61pB7ZGUja4EvuVH/48dOaBuMRZV2HPXeiXqzK8geeXbhJAQ==","signatures":[{"sig":"MEUCIHRpBkNnPvJw9a1kpDo/pDpFzWCfmwaAv7OAtgITMihNAiEAlU8vT5XFcypULV8ZJUzDJgF0lFDIWMtV1+kcnb4+YVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42060},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-aisdk-transport-0.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"_resolved":"/tmp/8fcc6d64cc92e08c76788e5cb96111cc/durable-streams-aisdk-transport-0.0.4.tgz","_integrity":"sha512-uGeuS6Z0Gm02KNZdOgG8BMYglIoSoWCAc3JegM61pB7ZGUja4EvuVH/48dOaBuMRZV2HPXeiXqzK8geeXbhJAQ==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.14.1","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"ai":"latest","tsdown":"^0.9.0","@tanstack/intent":"latest"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.4_1779128116145_0.062091489412567924","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@durable-streams/aisdk-transport","version":"0.0.5","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.5","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"3f5014ebf6babf79a89c1fccf3ab98e9380bbedd","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.5.tgz","fileCount":13,"integrity":"sha512-sNyr9LBWFDsUs8BnFkLLij11McZeIV53t1tfTqIdiP5CiMAzwtxtI7kFXH8Xtw8+plmgf/uTVV4upnRASnKKbA==","signatures":[{"sig":"MEYCIQChpmlhGkuJV2bC2LmPGjOauN6tGX24vFDP8CdiMtvotwIhAPSmUfbh8UPzmtEHC106S09J9Refw0NcS9dNpV6uYIpD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43204},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-aisdk-transport-0.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"_resolved":"/tmp/c5212bb4c50701bfc5f4b848fd498ab6/durable-streams-aisdk-transport-0.0.5.tgz","_integrity":"sha512-sNyr9LBWFDsUs8BnFkLLij11McZeIV53t1tfTqIdiP5CiMAzwtxtI7kFXH8Xtw8+plmgf/uTVV4upnRASnKKbA==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.14.1","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"ai":"latest","tsdown":"^0.9.0","vitest":"^4.0.0","@tanstack/intent":"latest"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.5_1779292021237_0.6380754811502658","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@durable-streams/aisdk-transport","version":"0.0.6","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.6","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"d7d21d1918aace0af505cbb7c36458e35e7b3670","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.6.tgz","fileCount":13,"integrity":"sha512-s0Y33pFvFNSaq/TYbWnsd/0+1b0DhYj3mX1Ha9OgOF480InVATOuSmFi+vXqB83kHc3HhqrdQjh8eKRBrRjVXA==","signatures":[{"sig":"MEQCIFdnkMj0j8UhxSuqSWZ83ZtnN/vvGI1lBsa/lF+CEv6sAiBGUpAdCJ4nVUskXbDXz850bpYutq9sgvP85sCiwU8/NA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43204},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-aisdk-transport-0.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"_resolved":"/tmp/c462fa8ec64f9b08d4af34666096f228/durable-streams-aisdk-transport-0.0.6.tgz","_integrity":"sha512-s0Y33pFvFNSaq/TYbWnsd/0+1b0DhYj3mX1Ha9OgOF480InVATOuSmFi+vXqB83kHc3HhqrdQjh8eKRBrRjVXA==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.16.0","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@durable-streams/client":"0.2.5"},"_hasShrinkwrap":false,"devDependencies":{"ai":"latest","tsdown":"^0.9.0","vitest":"^4.0.0","@tanstack/intent":"latest"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.6_1779971597071_0.13703953803742785","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@durable-streams/aisdk-transport","version":"0.0.7","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/aisdk-transport@0.0.7","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"homepage":"https://github.com/durable-streams/durable-streams#readme","bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"bin":{"intent":"bin/intent.js"},"dist":{"shasum":"becc95c49d212996de15ab99323a7fdc68b1359a","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.7.tgz","fileCount":13,"integrity":"sha512-9LlbxKPP9wS9gx8x0nStY8gbo+WnZuhDNoA99fDsgtlJE0WY2Qg01XSNFPiD5l17kluasRZ0LETGzWK7G3emtA==","signatures":[{"sig":"MEUCIF/nyad7MvclfJlUUAsgQ6AJNWG7Hh5S2m9rgnckrfnRAiEAouTBprNjSQwP3IoT90ugI8XITjW/15mPKA34uTJqsqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43204},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-aisdk-transport-0.0.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"_resolved":"/tmp/053a13cda1d78a180f667164da20f1a6/durable-streams-aisdk-transport-0.0.7.tgz","_integrity":"sha512-9LlbxKPP9wS9gx8x0nStY8gbo+WnZuhDNoA99fDsgtlJE0WY2Qg01XSNFPiD5l17kluasRZ0LETGzWK7G3emtA==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/aisdk-transport"},"_npmVersion":"11.16.0","description":"Vercel AI SDK transport adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@durable-streams/client":"0.2.6"},"_hasShrinkwrap":false,"devDependencies":{"ai":"latest","tsdown":"^0.9.0","vitest":"^4.0.0","@tanstack/intent":"latest"},"peerDependencies":{"ai":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aisdk-transport_0.0.7_1780312089536_0.7282309838098602","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@durable-streams/aisdk-transport","version":"0.0.8","description":"Vercel AI SDK transport adapters for Durable Streams","author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/durable-streams/durable-streams.git","directory":"packages/aisdk-transport"},"bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"sideEffects":false,"bin":{"intent":"bin/intent.js"},"dependencies":{"@durable-streams/client":"0.2.7"},"peerDependencies":{"ai":"^6.0.0"},"devDependencies":{"@tanstack/intent":"latest","ai":"latest","tsdown":"^0.9.0","vitest":"^4.0.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsdown","dev":"tsdown --watch","typecheck":"tsc --noEmit","test":"vitest run"},"_id":"@durable-streams/aisdk-transport@0.0.8","homepage":"https://github.com/durable-streams/durable-streams#readme","_integrity":"sha512-RA4PAaZJQiFgtdYk/ChejYzqV+4xgEVzSgXNTW6JiOUCwF4fUC7K8FEo1Iav5ykBRDM+QfvUIkc7u9cbxqosvw==","_resolved":"/tmp/131500743a17b517dd4727221efdb99b/durable-streams-aisdk-transport-0.0.8.tgz","_from":"file:durable-streams-aisdk-transport-0.0.8.tgz","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-RA4PAaZJQiFgtdYk/ChejYzqV+4xgEVzSgXNTW6JiOUCwF4fUC7K8FEo1Iav5ykBRDM+QfvUIkc7u9cbxqosvw==","shasum":"d2efddb8874efb1d80017f85b3c0d19445f177d6","tarball":"https://registry.npmjs.org/@durable-streams/aisdk-transport/-/aisdk-transport-0.0.8.tgz","fileCount":13,"unpackedSize":43204,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2faisdk-transport@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCvL9Em8k400lkxkXIjxnzgJKzoSVopBiusLpTPKlp3IgIgd6c/qdFzx4jLy2GAB6Lcepz0HxHge1J13j8VVHDeccE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:289f002e-66c8-4047-af88-54e01e8783d5"}},"directories":{},"maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aisdk-transport_0.0.8_1789060670113_0.32123230144164605"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T04:07:32.087Z","modified":"2026-09-10T17:17:50.609Z","0.0.1":"2026-03-24T04:07:32.319Z","0.0.2":"2026-03-25T15:28:15.410Z","0.0.3":"2026-04-13T13:55:17.112Z","0.0.4":"2026-05-18T18:15:16.297Z","0.0.5":"2026-05-20T15:47:01.382Z","0.0.6":"2026-05-28T12:33:17.220Z","0.0.7":"2026-06-01T11:08:09.684Z","0.0.8":"2026-09-10T17:17:50.251Z"},"bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","homepage":"https://github.com/durable-streams/durable-streams#readme","keywords":["durable-streams","vercel-ai-sdk","ai","streaming","typescript"],"repository":{"type":"git","url":"git+https://github.com/durable-streams/durable-streams.git","directory":"packages/aisdk-transport"},"description":"Vercel AI SDK transport adapters for Durable Streams","maintainers":[{"name":"dev-npm-publisher-2","email":"dev@electric-sql.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"}],"readme":"# @durable-streams/aisdk-transport\n\nVercel AI SDK transport adapters for Durable Streams.\n\n## Goal\n\nUse Durable Streams with AI SDK `useChat` so generations can survive refreshes and reconnect cleanly.\n\nThis guide moves from:\n\n1. No integration (regular AI SDK chat)\n2. Basic Durable Streams integration\n3. Optimal resumable generations (recommended)\n\n## 0) Starting point (no Durable Streams)\n\nClient:\n\n```ts\nimport { useChat } from \"@ai-sdk/react\"\nimport { DefaultChatTransport } from \"ai\"\n\nconst transport = new DefaultChatTransport({ api: \"/api/chat\" })\nconst chat = useChat({ transport })\n```\n\nServer:\n\n```ts\nreturn result.toUIMessageStreamResponse()\n```\n\nThis works, but refreshing during generation can lose the in-flight stream.\n\n## 1) Basic Durable Streams integration\n\n### Client\n\nSwap to `createDurableChatTransport`:\n\n```ts\nimport { useChat } from \"@ai-sdk/react\"\nimport { createDurableChatTransport } from \"@durable-streams/aisdk-transport\"\n\nconst transport = createDurableChatTransport({ api: \"/api/chat\" })\nconst chat = useChat({ transport })\n```\n\n### Server\n\nWrap your UI message stream with `toDurableStreamResponse`:\n\n```ts\nimport { toDurableStreamResponse } from \"@durable-streams/aisdk-transport\"\n\nreturn toDurableStreamResponse({\n  source: result.toUIMessageStream(),\n  stream: {\n    writeUrl: buildWriteStreamUrl(streamPath),\n    readUrl: buildReadProxyUrl(request, streamPath),\n    headers: DURABLE_STREAMS_WRITE_HEADERS,\n  },\n})\n```\n\nAt this point you get durable writes + durable reads, but no automatic resume after refresh yet.\n\n## 2) Optimal setup: resumable generations\n\nThis is the recommended production flow.\n\n### A. Persist active stream id per chat\n\nWhen a generation starts, save `activeStreamId = streamPath`.\nWhen it finishes, save final messages and clear `activeStreamId`.\n\n```ts\nawait saveChat({ id, activeStreamId: streamPath })\n\nreturn toDurableStreamResponse({\n  source: result.toUIMessageStream({\n    originalMessages: messages,\n    onFinish: ({ messages: finalMessages }) => {\n      void saveChat({ id, messages: finalMessages, activeStreamId: null })\n    },\n  }),\n  stream: { writeUrl, readUrl, headers },\n})\n```\n\n### B. Add reconnect endpoint\n\nImplement `GET /api/chat/:id/stream`:\n\n- Return `204` when there is no active generation.\n- Return `200` with `Location` and `{ streamUrl }` when there is one.\n\n```ts\nif (!chat.activeStreamId) return new Response(null, { status: 204 })\n\nconst streamUrl = buildReadProxyUrl(request, chat.activeStreamId)\nreturn Response.json(\n  { streamUrl },\n  { status: 200, headers: { Location: streamUrl } }\n)\n```\n\n### C. Enable `resume` on `useChat`\n\n```ts\nconst transport = createDurableChatTransport({ api: \"/api/chat\" })\nconst chat = useChat({ id, transport, resume: true })\n```\n\nOn page load, AI SDK will call `reconnectToStream` automatically. This transport resolves the stream URL from `Location` first (or `{ streamUrl }` fallback), then reconnects to the durable stream.\n\n## API reference\n\n### `createDurableChatTransport({ api, reconnectApi?, headers?, fetchClient? })`\n\nCreates an AI SDK `ChatTransport` that:\n\n1. `POST`s messages to `api`\n2. Resolves read URL from:\n   - `Location` header (preferred)\n   - JSON body `{ streamUrl }` fallback\n3. Reads the durable stream as JSON+SSE and returns `ReadableStream<UIMessageChunk>`\n4. Supports reconnect via `GET reconnectApi` (or default `${api}/${chatId}/stream`)\n\n### `toDurableStreamResponse({ source, ...options })`\n\nWrites AI SDK UI message chunks into Durable Streams and returns a pointer response.\n\nOptions:\n\n- `source`: required async iterable of AI SDK UI message chunks\n- `stream.writeUrl`: required durable write URL\n- `stream.readUrl`: optional URL exposed to clients (`Location` + JSON body)\n- `stream.headers`: optional write headers\n- `mode`:\n  - `immediate` (default): return once stream is prepared\n  - `await`: return after generation/write completes\n- `waitUntil`: optional runtime keep-alive hook (useful in worker runtimes)\n\n## Response contract\n\n### `mode: \"immediate\"`\n\nThe initial response returns only stream location metadata, not generated content:\n\n- `Location: <read-url>`\n- `{ \"streamUrl\": \"<read-url>\" }`\n\nThe client then connects to that read URL to consume generated chunks, while generation continues in the background.\nUse `waitUntil` when your runtime needs an explicit keep-alive signal so the worker stays alive until streaming work is complete.\n\n- Status: `201`\n- Header: `Location: <read-url>`\n- Body: `{ \"streamUrl\": \"<read-url>\" }`\n\n### `mode: \"await\"`\n\nHeaders are still sent immediately, so clients can read `Location` and start consuming the stream early, but the HTTP connection stays open until generation/write completes.\nThis is useful on runtimes that only allow long-running work while an inbound request remains active.\n\n- Status: `200`\n- Header: `Location: <read-url>`\n- Body: `{ \"streamUrl\": \"<read-url>\", \"finalOffset\": \"<offset>\" }`\n","readmeFilename":"README.md"}