{"_id":"@durable-streams/tanstack-ai-transport","_rev":"10-d2b6f4326a7cbacd4bafca8369da72d3","name":"@durable-streams/tanstack-ai-transport","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.1":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.1","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"a6f655ed85945b79cfb7a87da28ff2bb3e18ed6f","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.1.tgz","fileCount":10,"integrity":"sha512-htA/nry2unNLnFdiPcUqNZ2bT6eoqDx+Pnz004iuyuiWHq9G3EMU25fs7xN7USuc/5TXWj9BA57YM9Cm9bEh7g==","signatures":[{"sig":"MEYCIQCSUz9UR65FoMXyH0DLmvssviSuOFiYUPbqUeyZRA2RbgIhAI3uuIzXkFUPmsqno2o/0wMEA9hvnwWgOMS/lC1k/gAb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61789},"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/tanstack-ai-transport"},"_npmVersion":"11.11.0","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.13.1","dependencies":{"@durable-streams/client":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.1_1774325281614_0.5953900320544652","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.2","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"c8d74676ce994b4c32c5010bf847fef99f22f1e5","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.2.tgz","fileCount":11,"integrity":"sha512-Qp1YScfETDaRowuEl58mQrFPUHjZYrybFghDSwrf5Qsv8ZYgEZ5dhA9Q1E48ioQAEL8fOKIRdTHz6VfvXIWmAQ==","signatures":[{"sig":"MEQCIG5OBLdtOf1kK2TY2XUPmCFF+y5IKm6OHU4hnAbZn2omAiAgTuZSJ2aSBYfubed19yEB9wjKPsZFTb/wk5aeUkd96Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62853},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-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:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/c8683583a0259d47e7eeb76b3ceff95c/durable-streams-tanstack-ai-transport-0.0.2.tgz","_integrity":"sha512-Qp1YScfETDaRowuEl58mQrFPUHjZYrybFghDSwrf5Qsv8ZYgEZ5dhA9Q1E48ioQAEL8fOKIRdTHz6VfvXIWmAQ==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.12.0","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","dependencies":{"@durable-streams/client":"0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.2_1774452495143_0.6752575339453648","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.3","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"c08154f0e384c155469db3f20531d332315a34c4","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.3.tgz","fileCount":13,"integrity":"sha512-hmxMaMH0isq1ufb5JRKtsEkOiVMRGGDjzMACVuaBqnq9EOqevPoA399EofyQxFiXnmT53XHrHV3TQbG5MS6tSQ==","signatures":[{"sig":"MEUCIQD8B11fuO142NVia2QT1a0jmpxXpMv7YvFqCIjciyeb3AIgFnEzPqM0yhM+qTUUVc9CDQar8N9nobMeFrQZR/qJ5mA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68827},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-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:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/63c80a38de97b22f3ec0ed44ae996d10/durable-streams-tanstack-ai-transport-0.0.3.tgz","_integrity":"sha512-hmxMaMH0isq1ufb5JRKtsEkOiVMRGGDjzMACVuaBqnq9EOqevPoA399EofyQxFiXnmT53XHrHV3TQbG5MS6tSQ==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.12.1","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.3_1776088516429_0.6771098675767488","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.4","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"794ac5a2f5e16127f49dbfccc566c3325b39d051","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.4.tgz","fileCount":13,"integrity":"sha512-KXeQCAtVGt5E+zIlchuohWkyWUsBMcMT7ZaWPFsRmX4pTcI9qOwpFNXAxPDFu6fpDan4+olM/gvcktPKsn7smA==","signatures":[{"sig":"MEYCIQDiBW7obRqKoMaixewEYGNTrcy/YpfaQlmsgbn/yYujJgIhAMBctV2cBwpK3ybzKVA1VACHjcajee7gt/upIEPaGahx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69967},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-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:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/5db5fd079e510628e28b8ea0ae87ea05/durable-streams-tanstack-ai-transport-0.0.4.tgz","_integrity":"sha512-KXeQCAtVGt5E+zIlchuohWkyWUsBMcMT7ZaWPFsRmX4pTcI9qOwpFNXAxPDFu6fpDan4+olM/gvcktPKsn7smA==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.12.1","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.4_1776174354445_0.548442126984104","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.5","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"57a1cdd2cc76765e5126955426ba0dc17e3122a5","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.5.tgz","fileCount":13,"integrity":"sha512-36sR3p8oG4RX17o7Tb/E6fomUKBmqyy0s0ehqh9OYT/WDjgBLPXGVz2cF/c7dB/w6XIzq3Shv5ZihT2FCnWBqQ==","signatures":[{"sig":"MEUCIQCxWM2CkwoXknQ5fQtD4+wpxqHT9A3vPg0nDUr8Pe3NQQIgMbA38vKkn5X6q7YRTiyaSlKUG+9TPzwwOdX2lJBz+dU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78481},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-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","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/b330b829e4bb555f072a33d7567d21ee/durable-streams-tanstack-ai-transport-0.0.5.tgz","_integrity":"sha512-36sR3p8oG4RX17o7Tb/E6fomUKBmqyy0s0ehqh9OYT/WDjgBLPXGVz2cF/c7dB/w6XIzq3Shv5ZihT2FCnWBqQ==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.14.1","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.5_1779128116788_0.0016705103506384766","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.6","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"7b2207c607cdf096e5e279f66a352e09ea6683a3","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.6.tgz","fileCount":13,"integrity":"sha512-yecLb0flfFsb3RemEGNJEza90FWyomUsOfb9tfdCF5EU1G5MZx74DgXY1FlLKTK2qw0d2zeAWNQlFT7qF61h6w==","signatures":[{"sig":"MEUCIQDtfZskLBmQs2NQ8TM4vDvZzeOXa+c5Aegs3DbG5WTxowIgTgLpWUak1Y6zV+poUamkreveRbjXlHcnPQ4FABGh6JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81318},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-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","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/c2f4bd104cae7a9c56c5b225fcea9652/durable-streams-tanstack-ai-transport-0.0.6.tgz","_integrity":"sha512-yecLb0flfFsb3RemEGNJEza90FWyomUsOfb9tfdCF5EU1G5MZx74DgXY1FlLKTK2qw0d2zeAWNQlFT7qF61h6w==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.14.1","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@durable-streams/client":"0.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.6_1779292022244_0.026808386208483137","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.7","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-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":"223b2f35992aa70c8e72f5374cb9346c3472f7e7","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.7.tgz","fileCount":13,"integrity":"sha512-uxWvgaOt9W9pGuylxBuSFbK3HDzNEoKcL27psaBkWzfKyBVBXgHiBbAaT/ZQyK9vX+y8G+cjoVbXZ5HK4qPEqw==","signatures":[{"sig":"MEUCIQCl6g5E2tSum8fLa1gm15p0UCHoIMvIDethDkplUFheOAIgUDzoiBuwpqTxxqNEndY5Tmme9Iyiw9+8WgJFiJ8QUIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81318},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-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","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/f3987dfa59ba1d61049b3e119a1afccf/durable-streams-tanstack-ai-transport-0.0.7.tgz","_integrity":"sha512-uxWvgaOt9W9pGuylxBuSFbK3HDzNEoKcL27psaBkWzfKyBVBXgHiBbAaT/ZQyK9vX+y8G+cjoVbXZ5HK4qPEqw==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.16.0","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@durable-streams/client":"0.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.7_1779971596980_0.4992428525389707","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.8","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-transport@0.0.8","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":"f197588891e568e4c65f8d5036169757fa22162d","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.8.tgz","fileCount":13,"integrity":"sha512-fefWoIwTqnLEEkmNqcznDfcm4eY4yxbeP1S2MGu5xTCmpGCccid364iglzPjGdKhHHWfuuyE+3xNt5yT+q/iAw==","signatures":[{"sig":"MEUCIQDROswg2kOnXKBGwJ3Kua4WXL5KVKG7tTpmQgFEU6IGTQIgAtRZTiimVxc/OzA9AqLdspQQo8k7TUeXoVZWS7hoNfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81318},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-transport-0.0.8.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:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/1ee97428ef4b5272e83513babed6e174/durable-streams-tanstack-ai-transport-0.0.8.tgz","_integrity":"sha512-fefWoIwTqnLEEkmNqcznDfcm4eY4yxbeP1S2MGu5xTCmpGCccid364iglzPjGdKhHHWfuuyE+3xNt5yT+q/iAw==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"11.16.0","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@durable-streams/client":"0.2.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.8_1780312089542_0.08815226186201897","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.9","keywords":["durable-streams","tanstack","ai","streaming","typescript"],"author":{"name":"Durable Stream contributors"},"license":"Apache-2.0","_id":"@durable-streams/tanstack-ai-transport@0.0.9","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":"7d4201d6dedfad833b40346fba2d1eaaabec8499","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.9.tgz","fileCount":13,"integrity":"sha512-2dYbaR+jZiwJOBNtUqq+PICcTm/GqU+OQb4YObrkRzOv/6lc0192ceWaBFryjpa/jhApuz/KSBlsc3zZduIqgg==","signatures":[{"sig":"MEUCIQDlNM/882tsusF/IMkZJ54X2dQjyyc+h5L3G0wdKxxvCwIgDOBKpvqUHmRBtX5fo1LA3rGj2S71FZ3QgY0z+5vGhVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82527},"main":"./dist/index.cjs","type":"module","_from":"file:durable-streams-tanstack-ai-transport-0.0.9.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:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"_resolved":"/tmp/e3364f5843da72fe918c98b9bcf0c68d/durable-streams-tanstack-ai-transport-0.0.9.tgz","_integrity":"sha512-2dYbaR+jZiwJOBNtUqq+PICcTm/GqU+OQb4YObrkRzOv/6lc0192ceWaBFryjpa/jhApuz/KSBlsc3zZduIqgg==","repository":{"url":"git+https://github.com/durable-streams/durable-streams.git","type":"git","directory":"packages/tanstack-ai-transport"},"_npmVersion":"12.0.1","description":"TanStack AI adapters for Durable Streams","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@durable-streams/client":"0.2.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.0","@tanstack/intent":"latest"},"_npmOperationalInternal":{"tmp":"tmp/tanstack-ai-transport_0.0.9_1784239411968_0.31231459251112836","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@durable-streams/tanstack-ai-transport","version":"0.0.10","description":"TanStack AI 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/tanstack-ai-transport"},"bugs":{"url":"https://github.com/durable-streams/durable-streams/issues"},"keywords":["durable-streams","tanstack","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"},"devDependencies":{"@tanstack/intent":"latest","tsdown":"^0.9.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsdown","dev":"tsdown --watch","typecheck":"tsc --noEmit"},"_id":"@durable-streams/tanstack-ai-transport@0.0.10","homepage":"https://github.com/durable-streams/durable-streams#readme","_integrity":"sha512-6ZTRHEF3la8XLdkxX0UjJJlqZm021MJwfwCogp4Z8TQD5Ifs/cACQItrbJbFRPuvsQE1NyJ6bTaiGPERa3x2jA==","_resolved":"/tmp/4b0e8dfa68ee51c4dc16433fd791b2e1/durable-streams-tanstack-ai-transport-0.0.10.tgz","_from":"file:durable-streams-tanstack-ai-transport-0.0.10.tgz","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-6ZTRHEF3la8XLdkxX0UjJJlqZm021MJwfwCogp4Z8TQD5Ifs/cACQItrbJbFRPuvsQE1NyJ6bTaiGPERa3x2jA==","shasum":"75025c711810b8bb217351852c1f04c2db12c7ff","tarball":"https://registry.npmjs.org/@durable-streams/tanstack-ai-transport/-/tanstack-ai-transport-0.0.10.tgz","fileCount":13,"unpackedSize":82528,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@durable-streams%2ftanstack-ai-transport@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCC9IKHGQcD4kme9ohjUOenZWCnSzzyUNe+aRrHcCcXkwIhAMyqUW1/xiK7U+Y0JnEEh0qPDTDifWSC226IzvEZpVln"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a136dbc6-c3cc-4379-ad29-00f9a4751321"}},"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/tanstack-ai-transport_0.0.10_1789060675623_0.39522113341512255"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T04:08:01.556Z","modified":"2026-09-10T17:17:56.122Z","0.0.1":"2026-03-24T04:08:01.750Z","0.0.2":"2026-03-25T15:28:15.300Z","0.0.3":"2026-04-13T13:55:16.614Z","0.0.4":"2026-04-14T13:45:54.587Z","0.0.5":"2026-05-18T18:15:16.920Z","0.0.6":"2026-05-20T15:47:02.397Z","0.0.7":"2026-05-28T12:33:17.107Z","0.0.8":"2026-06-01T11:08:09.735Z","0.0.9":"2026-07-16T22:03:32.151Z","0.0.10":"2026-09-10T17:17:55.795Z"},"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","tanstack","ai","streaming","typescript"],"repository":{"type":"git","url":"git+https://github.com/durable-streams/durable-streams.git","directory":"packages/tanstack-ai-transport"},"description":"TanStack AI 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/tanstack-ai-transport\n\nTanStack AI adapters for Durable Streams.\n\n## What this package does\n\nThis package gives you:\n\n- A TanStack-compatible client `connection` (`subscribe` + `send`)\n- Server helpers to write TanStack chunks into Durable Streams\n- Chat-session helpers for echoing user prompts and enforcing JSON stream format\n- Snapshot materialization helpers for SSR hydration + resume offsets\n\nUse this when you want chat sessions that survive refreshes/reconnects and can be shared across multiple clients.\n\n## Install\n\n```bash\npnpm add @durable-streams/tanstack-ai-transport @durable-streams/client\n```\n\n## Quick start\n\n### Client: create a durable session connection\n\n```ts\nimport { durableStreamConnection } from \"@durable-streams/tanstack-ai-transport\"\n\nconst connection = durableStreamConnection({\n  sendUrl: \"/api/chat?id=chat_123\",\n  readUrl: \"/api/chat-stream?id=chat_123\",\n  initialOffset: undefined,\n})\n```\n\nPass this connection to `useChat` from `@tanstack/ai-react`.\n\n### Server: write model chunks to durable stream\n\n```ts\nimport { toDurableChatSessionResponse } from \"@durable-streams/tanstack-ai-transport\"\n\nreturn toDurableChatSessionResponse({\n  stream: {\n    writeUrl,\n    headers,\n  },\n  newMessages: [latestUserMessage],\n  responseStream, // AsyncIterable<TanStackChunk>\n})\n```\n\nThis appends the new user message to the durable stream, pipes AI response chunks, and returns an empty success response.\n\n## Integration guide (recommended chat session flow)\n\n### 1) Client connection\n\n```ts\nconst connection = durableStreamConnection({\n  sendUrl: `/api/chat?id=${chatId}`,\n  readUrl: `/api/chat-stream?id=${encodeURIComponent(chatId)}`,\n  initialOffset: resumeOffsetFromSSR,\n})\n```\n\nUse with `useChat({ id: chatId, connection, live: true })`.\n\n### 2) POST route (`/api/chat`)\n\n- Validate chat id\n- Build durable stream write URL\n- Keep `newMessages` explicit (usually latest user message)\n- Start your model stream (`responseStream`)\n- Return `toDurableChatSessionResponse(...)`\n\n### 3) GET proxy route (`/api/chat-stream`)\n\n- Accept a chat `id` query param\n- Build upstream durable read URL on the server from that id\n- Forward query params like `offset`, `live`, etc.\n- Add durable read auth headers on the server\n- Return upstream body/headers to client\n\n### 4) SSR hydrate + resume\n\nFor chat page loaders:\n\n- `materializeSnapshotFromDurableStream({ readUrl, headers })`\n- send `messages` + `offset` to client\n- use that `offset` as `initialOffset` on `durableStreamConnection`\n\nThis avoids replaying entire history on first subscribe.\n\n## API reference\n\n### Client APIs\n\n#### `durableStreamConnection(options)`\n\nCreates a TanStack-compatible `connection` object with:\n\n- `subscribe(abortSignal?) => AsyncIterable<TanStackChunk>`\n- `send(messages, data?, abortSignal?) => Promise<void>`\n\n`DurableStreamConnectionOptions`:\n\n- `sendUrl: string` (required) - where `send(...)` POSTs\n- `readUrl?: string` - where `subscribe(...)` reads from (defaults to `sendUrl`)\n- `initialOffset?: string` - initial durable offset for resuming\n- `emitSnapshotOnSubscribe?: boolean` (default `true`) - emit synthetic `MESSAGES_SNAPSHOT` on initial catch-up\n- `headers?: HeadersInit` - applied to both read and write requests\n- `fetchClient?: typeof fetch` - custom fetch implementation\n\nBehavior:\n\n- `send(...)` POSTs `{ messages, data }` to `sendUrl`\n- `subscribe(...)` reads durable JSON stream batches and yields TanStack chunks\n- internal offset is updated as batches arrive, so later subscribes continue from the latest seen offset\n\n#### `materializeSnapshotFromDurableStream(options)`\n\nReads a non-live durable stream and materializes TanStack message state.\n\nInput:\n\n- `readUrl: string`\n- `headers?: HeadersInit`\n- `offset?: string`\n\nReturns:\n\n- `{ messages: Array<any>; offset?: string }`\n\n#### `sanitizeChunkForStorage(chunk)`\n\nRemoves duplicated `content` on `TEXT_MESSAGE_CONTENT` chunks (keeps `delta`) to reduce stored payload size.\n\n### Server APIs\n\n#### `toDurableChatSessionResponse(options)`\n\nHigh-level helper for chat session writes.\n\n`ToDurableChatSessionResponseOptions`:\n\n- `stream: DurableChatSessionStreamTarget` (`writeUrl`, `headers`, `createIfMissing`)\n- `newMessages: DurableSessionMessage[]` - explicitly appended prompt messages\n- `responseStream: AsyncIterable<TanStackChunk>` - model chunk source\n- `mode?: \"immediate\" | \"await\"` (default `immediate`)\n- `waitUntil?: (promise: Promise<unknown>) => void`\n\nNotes:\n\n- chat session streams are always `application/json`\n- appends `newMessages` using `toMessageEchoChunks(...)`\n- sanitizes chunks before writing\n\n#### `toDurableStreamResponse(source, options)`\n\nLower-level generic writer for arbitrary async chunk sources.\n\n`ToDurableStreamResponseOptions`:\n\n- `stream: DurableStreamTarget`\n- `mode?: \"immediate\" | \"await\"`\n- `waitUntil?: (promise: Promise<unknown>) => void`\n- `exposeLocationHeader?: boolean`\n\n#### `ensureDurableChatSessionStream(streamTarget)`\n\nEnsures a durable stream exists for chat-session usage, enforcing `application/json`.\n\n#### `toMessageEchoChunks(message)`\n\nConverts a user/system/assistant message into:\n\n- `TEXT_MESSAGE_START`\n- `TEXT_MESSAGE_CONTENT` (if text exists)\n- `TEXT_MESSAGE_END`\n\nThis preserves explicit message IDs when provided.\n\n#### `appendSanitizedChunksToStream(stream, chunks, contentType?)`\n\nAppends chunk array with `sanitizeChunkForStorage` applied.\n\n#### `pipeSanitizedChunksToStream(source, stream, contentType?)`\n\nPipes async chunk source with `sanitizeChunkForStorage` applied.\n\n### Shared types\n\n- `TanStackChunk`\n- `DurableSessionConnection`\n- `DurableStreamConnection` (alias)\n- `DurableStreamConnectionOptions`\n- `DurableChatSessionStreamTarget`\n- `DurableStreamTarget`\n- `ToDurableStreamResponseMode`\n- `ToDurableStreamResponseOptions`\n- `ToDurableChatSessionResponseOptions`\n- `DurableSessionMessage`\n- `DurableSessionMessagePart`\n- `WaitUntil`\n\n## Response contract\n\n### `toDurableStreamResponse(..., { mode: \"immediate\" })`\n\n- Status: `201`\n- Header: `Location: <read-url>`\n- Body: `{ \"streamUrl\": \"<read-url>\" }`\n\n### `toDurableStreamResponse(..., { mode: \"await\" })`\n\n- Status: `200`\n- Header: `Location: <read-url>`\n- Body: `{ \"streamUrl\": \"<read-url>\", \"finalOffset\": \"<offset>\" }`\n\n### `toDurableChatSessionResponse(..., { mode: \"immediate\" })`\n\n- Status: `202`\n- Body: empty\n\n### `toDurableChatSessionResponse(..., { mode: \"await\" })`\n\n- Status: `200`\n- Body: empty\n\n## `waitUntil` usage\n\n```ts\nreturn toDurableChatSessionResponse({\n  stream: { writeUrl, headers },\n  newMessages,\n  responseStream,\n  waitUntil: ctx.waitUntil.bind(ctx),\n})\n```\n\nUse `waitUntil` in worker-style runtimes so background writes continue after the pointer response is returned.\n","readmeFilename":"README.md"}