{"_id":"@alfe.ai/chat","_rev":"19-b70fee394014256c92737515b4923d44","name":"@alfe.ai/chat","dist-tags":{"latest":"0.0.19"},"versions":{"0.0.1":{"name":"@alfe.ai/chat","version":"0.0.1","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.1","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"dd49fb5da50c6dff1431cdd2be5adad9b82b9568","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.1.tgz","fileCount":3,"integrity":"sha512-KD0//3a2DTw5/0ll/5yZKwUTemqdAB4ueq6BHFK14NQyU+Xmmkj4UGl7lpoRVOE7mT16SkwAM/yE4GZ+4LDFpA==","signatures":[{"sig":"MEUCIQDpBP6NAXrHrB0kBEzVLqdlsqx3ZpdAykJxufm/a6l5OwIgVj7q1osUMQOnE1+9oHHjCdWzxC/Y5PTyrGZAHA5bfnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6659},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/4d84a359547f645235a897b0c524644b/alfe.ai-chat-0.0.1.tgz","_integrity":"sha512-KD0//3a2DTw5/0ll/5yZKwUTemqdAB4ueq6BHFK14NQyU+Xmmkj4UGl7lpoRVOE7mT16SkwAM/yE4GZ+4LDFpA==","_npmVersion":"10.9.4","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.5.13"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.1_1774883139646_0.10183455219088944","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@alfe.ai/chat","version":"0.0.2","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.2","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"02efe6a93724d75e8aecfe6f21dc068c90c27a82","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.2.tgz","fileCount":3,"integrity":"sha512-oqJkL9iE2/TJ549kkLDGinbTsa3SzxFV4dLte63hsYxMMMi3/+YD1tKlKlFjLFHRV2zPDe7s+ovHegdfimkBhA==","signatures":[{"sig":"MEUCIQCfwhPgZLq3KfAFgBHW/tf0+JfUoy3ZgQdyqVJVCfCzSAIgE/DA7W3kaId9ukv+9/Vv5pgYKlRiJjNArjk7lEtkCio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8901},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/de13247a0699242e1091b13f03fa4e94/alfe.ai-chat-0.0.2.tgz","_integrity":"sha512-oqJkL9iE2/TJ549kkLDGinbTsa3SzxFV4dLte63hsYxMMMi3/+YD1tKlKlFjLFHRV2zPDe7s+ovHegdfimkBhA==","_npmVersion":"10.9.4","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.5.13"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.2_1775096326329_0.6868948808288751","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@alfe.ai/chat","version":"0.0.3","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.3","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"4054c6037b13985aae6cd33f4ef872b233d68042","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.3.tgz","fileCount":3,"integrity":"sha512-7viFJTR4RyzrWGyM30TiO9EXKfItk8gvK9SkRNlBIAeJ7Dd9YpRj60HEtbw00gxZXYDpY7MROJ2Upf8macSEaQ==","signatures":[{"sig":"MEYCIQD4b6HQdiEszdRiK4JqoHPVGAc4YnKUXmUK8eXcW1nsFgIhANC4oD8kMR5j9DzO2KPAAtRhonqdwe2P5bSO5kp06Ukz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8901},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/42687f7355e1c2977112558203f9f365/alfe.ai-chat-0.0.3.tgz","_integrity":"sha512-7viFJTR4RyzrWGyM30TiO9EXKfItk8gvK9SkRNlBIAeJ7Dd9YpRj60HEtbw00gxZXYDpY7MROJ2Upf8macSEaQ==","_npmVersion":"10.9.4","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.5.13"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.3_1775152520959_0.3551253278815214","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@alfe.ai/chat","version":"0.0.4","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.4","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"2db5c22adba5c5f26ab090596647944a43b1ddde","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.4.tgz","fileCount":3,"integrity":"sha512-NzX2U++Gwn/6/uVEQMcsdbb2UcQ7fgDYbsTsl/dFMsQXKA6gAbjEw3i3CC4dIyFzfSKy7dF03liCx1cXct+Zqw==","signatures":[{"sig":"MEYCIQDNhFSmiIQ/h8e7VdJq+r+tWJGA+vT8Zmu2acHRyL1laAIhAMMplMXNc65x+dF3TPeQc3XYoU/eoNm6hnyWsXELnbEE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8836},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/c4f9000248d95ef6632a59488a4b251a/alfe.ai-chat-0.0.4.tgz","_integrity":"sha512-NzX2U++Gwn/6/uVEQMcsdbb2UcQ7fgDYbsTsl/dFMsQXKA6gAbjEw3i3CC4dIyFzfSKy7dF03liCx1cXct+Zqw==","_npmVersion":"10.9.7","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.4_1776030608609_0.4460665097105012","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@alfe.ai/chat","version":"0.0.5","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.5","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"ee75b045846873249d6619057804f4e72bfffec4","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.5.tgz","fileCount":5,"integrity":"sha512-uT0o0HdiMO4v8G8jPXeJQT8D5B0dG6w9kujGLh47nE5l4su732qeYJTKRmKavi8si18+P4C82PsVJb7qXT3gXg==","signatures":[{"sig":"MEUCIQCbefZD5xmG9MxeUNJImSH06P7ylLSZVuui8uB6wSdBXgIgOMOz2lzbbtPH3MPnCm7cBCmLXER/zwJ0zKiPWHVsVQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18176},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/e19284c22d5f48fa715a12128e2bfe40/alfe.ai-chat-0.0.5.tgz","_integrity":"sha512-uT0o0HdiMO4v8G8jPXeJQT8D5B0dG6w9kujGLh47nE5l4su732qeYJTKRmKavi8si18+P4C82PsVJb7qXT3gXg==","_npmVersion":"10.9.7","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.5_1776052816893_0.6351858064061673","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@alfe.ai/chat","version":"0.0.6","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.6","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"0c749eb60e31c800b35f440b3ce52c1315758729","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.6.tgz","fileCount":5,"integrity":"sha512-wtSx01xUP31KzSMpoFp54YwYXyObH603LpxavN5nIKSRfxSmCEOKeYDo5JOndtrSrI7om3N8WxF66xech0l84A==","signatures":[{"sig":"MEQCIHA/V1luVvOOMhOAPwGsM/wiCEv33mVyuhjTE3VCfaUZAiAhgOORAV44Gz8KJXgfnanE1c3berNJU2/GJ3WHBDNXCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18746},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/133fa2d641c0c9f352c174001ad9ad66/alfe.ai-chat-0.0.6.tgz","_integrity":"sha512-wtSx01xUP31KzSMpoFp54YwYXyObH603LpxavN5nIKSRfxSmCEOKeYDo5JOndtrSrI7om3N8WxF66xech0l84A==","_npmVersion":"10.9.7","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.6_1776129181177_0.42390245694232753","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@alfe.ai/chat","version":"0.0.7","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.7","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"2acbda189cfc3c129a2bfb8ff8357e6d8898ac53","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.7.tgz","fileCount":5,"integrity":"sha512-DtkjupL9HAuCwD8WpR/SqI2rMKt7IoZYZNpZk7xkRfxTzfTDvRAh2N2u9W1PGkjtOO+Kjs6jRGMON4iWvXyQJA==","signatures":[{"sig":"MEQCIE4T0Frw9Q9Mb9qNrLbpq0Sql3HAvjZfUt6XAXRllBA0AiBvcFiO2E1tikoKSMbZCDsBaMcgkizUvcci39sEIIhA3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24399},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.7.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/db2da3e2248ff917a48726545ef77f33/alfe.ai-chat-0.0.7.tgz","_integrity":"sha512-DtkjupL9HAuCwD8WpR/SqI2rMKt7IoZYZNpZk7xkRfxTzfTDvRAh2N2u9W1PGkjtOO+Kjs6jRGMON4iWvXyQJA==","_npmVersion":"10.9.7","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.7"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.7_1776616281093_0.11151107118091419","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@alfe.ai/chat","version":"0.0.8","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.8","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"8f52764536dbda9b030162a42d20e58af6d6e190","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.8.tgz","fileCount":5,"integrity":"sha512-yKzaG1zeAYwCTnVKCapT8jiqXl7VkGhNh8cNTAw0wcT6I2UiedBY+dVqrEXCQN/f+OMAzaENtJ4BSFBHj0tkqg==","signatures":[{"sig":"MEQCIFnUjfRnafe6Kpc+CRjAe5p9HLBX8q+HjRwXK4X4T5FXAiANQduPQJwq1+bGOqq9E3+ikpThxETFwsj57/BvskkejA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24399},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.8.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/bb15ea363d581a46f747803b06009eeb/alfe.ai-chat-0.0.8.tgz","_integrity":"sha512-yKzaG1zeAYwCTnVKCapT8jiqXl7VkGhNh8cNTAw0wcT6I2UiedBY+dVqrEXCQN/f+OMAzaENtJ4BSFBHj0tkqg==","_npmVersion":"10.9.7","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.8"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.8_1776776647337_0.3883611764605186","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@alfe.ai/chat","version":"0.0.9","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.9","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"9d61ff4576f0bc387298e30fda4ff5977468cd99","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.9.tgz","fileCount":5,"integrity":"sha512-9ZgDpg8zQ3L9PaD0LTluuAfLwuSxgiySSB7bfpAs3EXMiWc5oJPEr6AYK07oiqlfR8elUMlkYN0z1EavxaMy+A==","signatures":[{"sig":"MEYCIQDvVZ9WHeGJAQSo/DV3CwNaU89FPFBTZN4LaTrAWGvMqQIhANRHkuLLMJ82WPuIU8En4ckwnNScQI9mOJPGQ8pR9Bbj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24399},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.9.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/34280cc042e9604897fed69f5ada1e1a/alfe.ai-chat-0.0.9.tgz","_integrity":"sha512-9ZgDpg8zQ3L9PaD0LTluuAfLwuSxgiySSB7bfpAs3EXMiWc5oJPEr6AYK07oiqlfR8elUMlkYN0z1EavxaMy+A==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.9"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.9_1779231968566_0.04329391237953084","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@alfe.ai/chat","version":"0.0.10","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.10","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"9dea4b231d523d116de2f75211ca657902252d10","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.10.tgz","fileCount":5,"integrity":"sha512-2Jr/h1V98vp90Dg0cY5NIVuHmlkmNXZHhfluyW49VzdYDy2zXK2nJkcjApZbKu8V1nZuP4RAXMbZnxFKxz5Yjw==","signatures":[{"sig":"MEUCIQCpJec5sdBQBYUxOYhAGOzZAcPtFS4mTnSo4sSeRhMoIQIgZzOCSQ2dona3Wo+s65VFqxczq+UKrwmz0iCHla/+yRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27241},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.10.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/dfedc5cf2eaf63e501c8b42c40fc5af4/alfe.ai-chat-0.0.10.tgz","_integrity":"sha512-2Jr/h1V98vp90Dg0cY5NIVuHmlkmNXZHhfluyW49VzdYDy2zXK2nJkcjApZbKu8V1nZuP4RAXMbZnxFKxz5Yjw==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.9"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.10_1782597767337_0.1889594912516228","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@alfe.ai/chat","version":"0.0.11","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.11","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"58b9d379d62096e990941c6aabfae5e1f748b8af","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.11.tgz","fileCount":5,"integrity":"sha512-b8zjyOLZoxciWiDNVYM4pckAGSItMEKFBzrbijavJ1Re+qzo6eivEIRi4ryoQitHvZNGXZKppBOe3g8A9LSPQw==","signatures":[{"sig":"MEUCIQDU8az3aj3P/psgLXyugtIzFfU4qfLtgaPCi/Ew0Onh4AIgBFRG3XJvIm7iYsPfS+UFp7BgslXIg8yUnbvM9utskiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27481},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.11.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/4e6b682c3c342183579461354e968e25/alfe.ai-chat-0.0.11.tgz","_integrity":"sha512-b8zjyOLZoxciWiDNVYM4pckAGSItMEKFBzrbijavJ1Re+qzo6eivEIRi4ryoQitHvZNGXZKppBOe3g8A9LSPQw==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.0.9"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.11_1782772706649_0.0009524527909832159","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@alfe.ai/chat","version":"0.0.12","license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.12","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"dist":{"shasum":"9e8df9d8e33fcb617419f4084447933df290216c","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.12.tgz","fileCount":5,"integrity":"sha512-Zc/clAwxcat47WmOmS7Ws/ou/EJ9bP9xAtuOku4+zXbW1F7xpo4/pyHY5f27tBCvNZ0gIejUqOfJ58Wenlv7mQ==","signatures":[{"sig":"MEUCIGvLdB+/U3QngVuxq3W8pb2usbNiB6+5YVQjCf+VJBK1AiEA+G3YeTTI7t7SzMUFdta3Ra//B5PD3qOBLQpKn3XFgJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27481},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.12.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/134a7fc1f6f938d624e747732469a70a/alfe.ai-chat-0.0.12.tgz","_integrity":"sha512-Zc/clAwxcat47WmOmS7Ws/ou/EJ9bP9xAtuOku4+zXbW1F7xpo4/pyHY5f27tBCvNZ0gIejUqOfJ58Wenlv7mQ==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.12_1782840209973_0.42369166729203345","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@alfe.ai/chat","version":"0.0.13","keywords":["alfe","ai-agents","agent","llm","sdk"],"author":{"url":"https://alfe.ai","name":"Alfe"},"license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.13","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"homepage":"https://alfe.ai","dist":{"shasum":"7fccaa9cc88eb53f5dcf134b44bd633cc8edc87e","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.13.tgz","fileCount":6,"integrity":"sha512-IwRUh3MWaalfvUDmWC3FswW2l2KrOTWTf8NAD7aEodaY8vSCkksr1ua0CSaULgYdZRjFLl6cOsPHuvsip9V2Nw==","signatures":[{"sig":"MEYCIQCNPKuFJDtJJAHKFli0c90qoTGG9YeC4650ZnDt3MfAowIhAOt+F+jBvn6c9jqO/N7faAido0+ftJoUA5fevl0n8GzQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28076},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.13.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/4f2085ba1e8be53157ce5963f7bc52ea/alfe.ai-chat-0.0.13.tgz","_integrity":"sha512-IwRUh3MWaalfvUDmWC3FswW2l2KrOTWTf8NAD7aEodaY8vSCkksr1ua0CSaULgYdZRjFLl6cOsPHuvsip9V2Nw==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.13_1783007058551_0.5535703791875497","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@alfe.ai/chat","version":"0.0.14","keywords":["alfe","ai-agents","agent","llm","sdk"],"author":{"url":"https://alfe.ai","name":"Alfe"},"license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.14","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"homepage":"https://alfe.ai","dist":{"shasum":"58ac01b4b771c73c6576116b4ef50c3c40882924","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.14.tgz","fileCount":6,"integrity":"sha512-aaB92q42WG6I+XxYqHSM4042kLY3sTQn0ls091JF3qIAeghz5jNCRCs2Gbmlsk180tlwQsIzr6ayVZ+VwsN/lg==","signatures":[{"sig":"MEQCIF0qPz6HZ/7oOxHFscti5Nt5R5g7TcpEma7iwdStQABiAiB69qwkZcPlKzMBalL6AYmVBhbGzQB/nKG6yBtrBSEGlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28076},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.14.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/0a27d717c8812cffb8949c6346e3ccb3/alfe.ai-chat-0.0.14.tgz","_integrity":"sha512-aaB92q42WG6I+XxYqHSM4042kLY3sTQn0ls091JF3qIAeghz5jNCRCs2Gbmlsk180tlwQsIzr6ayVZ+VwsN/lg==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.14_1783101534831_0.912480139317696","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@alfe.ai/chat","version":"0.0.15","keywords":["alfe","ai-agents","agent","llm","sdk"],"author":{"url":"https://alfe.ai","name":"Alfe"},"license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.15","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"homepage":"https://alfe.ai","dist":{"shasum":"e491eca7bd7d2460426f21444b55572ba8d492d3","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.15.tgz","fileCount":6,"integrity":"sha512-uf0NdMUnkDYl+lR5CZnITqqA61Nz+5Vh+F8htimPYmV/wXJK5405eHjLz92u/k97uqaEqVtbnB1lm9CykmMWfw==","signatures":[{"sig":"MEQCIHpKswp2sagUC+zA1JfbSHTWSxIrstH+8pEZ23qn+m4yAiAbUw3+4ZPnBvg2ytYTILbCLe8LraMBUTT6oRhqix241A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28408},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.15.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/ba2e9d3e28be3cafca3f4a363f2f665d/alfe.ai-chat-0.0.15.tgz","_integrity":"sha512-uf0NdMUnkDYl+lR5CZnITqqA61Nz+5Vh+F8htimPYmV/wXJK5405eHjLz92u/k97uqaEqVtbnB1lm9CykmMWfw==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.15_1783423772370_0.4458434640550475","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@alfe.ai/chat","version":"0.0.16","keywords":["alfe","ai-agents","agent","llm","sdk"],"author":{"url":"https://alfe.ai","name":"Alfe"},"license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.16","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"homepage":"https://alfe.ai","dist":{"shasum":"319dc9d50444d6ad3944222ddef6447b97fba318","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.16.tgz","fileCount":6,"integrity":"sha512-W+KFmhTvLc7VA7LRa2QbvRLkwMR8NilT9kKkVdG7Vf2SxuOxgMdbGlmlY9vRwJ5vy9vsnw8bGUy0raQq/GjaNA==","signatures":[{"sig":"MEUCIAfsxKDKyMjCgnfh2gS0DzScplkLRA9xOMFQMrRLmdo0AiEAz7Wg8v3VKDbzHmEAPYL/GJnim/2MQrpT/sHryxLjE7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28602},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.16.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/17220fde64c38717ed7dd4427f751263/alfe.ai-chat-0.0.16.tgz","_integrity":"sha512-W+KFmhTvLc7VA7LRa2QbvRLkwMR8NilT9kKkVdG7Vf2SxuOxgMdbGlmlY9vRwJ5vy9vsnw8bGUy0raQq/GjaNA==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.16_1783444365389_0.7484369026418622","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@alfe.ai/chat","version":"0.0.17","keywords":["alfe","ai-agents","agent","llm","sdk"],"author":{"url":"https://alfe.ai","name":"Alfe"},"license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.17","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"homepage":"https://alfe.ai","dist":{"shasum":"24e3efc022d495a5f863430e8f6bbf1b11458859","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.17.tgz","fileCount":6,"integrity":"sha512-t2uuNyF76WCMJZDke0zWT67nU30BIIdxv/tRHTS7oVA8tdmDElNjyefjH6VDXqC9hYaysgBpRfhFzKyid1Y9aw==","signatures":[{"sig":"MEUCIQC/dbGsDRsa9f8JgWnJ8AkZmBVoPl5VPrrwNXOq/zvlTgIgCcBURfzYdEgiRb8/RaQ5uSKdVoi/4n9piClL43+xS5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28585},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.17.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/62a16d7eda95480236c04131274009c7/alfe.ai-chat-0.0.17.tgz","_integrity":"sha512-t2uuNyF76WCMJZDke0zWT67nU30BIIdxv/tRHTS7oVA8tdmDElNjyefjH6VDXqC9hYaysgBpRfhFzKyid1Y9aw==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.17_1785498792435_0.02680409230373959","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@alfe.ai/chat","version":"0.0.18","keywords":["alfe","ai-agents","agent","llm","sdk"],"author":{"url":"https://alfe.ai","name":"Alfe"},"license":"UNLICENSED","_id":"@alfe.ai/chat@0.0.18","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"homepage":"https://alfe.ai","dist":{"shasum":"3cff894cd636cfb24c098eb75ff76c66f5017a11","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.18.tgz","fileCount":6,"integrity":"sha512-om2VF+QYXs1na+OKQlZ229Mm+7iQ0WFm6j9wmVVgv9kw+yaag6xVuijBdmgEXP9OJRG0qrzx4VaPaQ4O1Bb3bw==","signatures":[{"sig":"MEYCIQC1HMobhw4gQVKBpZJsO5IoshbIlcxXjKt/4AIE4+XNJgIhANZ4S15nrtrUkTXX/cJ6Hpk26F0IBtgDuewRhBHwZCRM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42419},"main":"./dist/index.js","type":"module","_from":"file:alfe.ai-chat-0.0.18.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsdown --watch","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"_resolved":"/tmp/dcf58c99ac80074d46215db9ea7f7426/alfe.ai-chat-0.0.18.tgz","_integrity":"sha512-om2VF+QYXs1na+OKQlZ229Mm+7iQ0WFm6j9wmVVgv9kw+yaag6xVuijBdmgEXP9OJRG0qrzx4VaPaQ4O1Bb3bw==","_npmVersion":"10.9.8","description":"Runtime-agnostic WebSocket client for the Alfe chat service","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.4.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chat_0.0.18_1785753561710_0.12003418883800188","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@alfe.ai/chat","version":"0.0.19","description":"Runtime-agnostic WebSocket client for the Alfe chat service","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.js"}},"dependencies":{"ws":"^8.18.0","@alfe.ai/config":"^0.4.1"},"license":"UNLICENSED","homepage":"https://alfe.ai","author":{"name":"Alfe","url":"https://alfe.ai"},"keywords":["alfe","ai-agents","agent","llm","sdk"],"scripts":{"build":"tsdown","dev":"tsdown --watch","test":"vitest run --passWithNoTests","typecheck":"tsc --noEmit","lint":"eslint ."},"_id":"@alfe.ai/chat@0.0.19","_integrity":"sha512-27Mnx4q44YPZlUbDru52XKWGcIPKxBa9ary3lr9lIL/ZmNCH5hbV7RYKQzfoMWsPSTRICo3y8BcfmpP4SztDIg==","_resolved":"/tmp/35b7034b933458282959571edee5c772/alfe.ai-chat-0.0.19.tgz","_from":"file:alfe.ai-chat-0.0.19.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-27Mnx4q44YPZlUbDru52XKWGcIPKxBa9ary3lr9lIL/ZmNCH5hbV7RYKQzfoMWsPSTRICo3y8BcfmpP4SztDIg==","shasum":"a3880ddf0121c4a91db051cd6381719deb82cc16","tarball":"https://registry.npmjs.org/@alfe.ai/chat/-/chat-0.0.19.tgz","fileCount":6,"unpackedSize":42419,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDo/4F2frwaftMd0nYwhu1+qCF04OqYoACgtjDFvvFh7QIhAL+8NqZ52cRQhFSaxAeXAI7xSXSIz8G1MP7OfUgwW07u"}]},"_npmUser":{"name":"kevupton","email":"kevin@upton.tech"},"directories":{},"maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chat_0.0.19_1788148707976_0.9980092845628412"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T15:05:39.489Z","modified":"2026-08-31T03:58:28.297Z","0.0.1":"2026-03-30T15:05:39.789Z","0.0.2":"2026-04-02T02:18:46.514Z","0.0.3":"2026-04-02T17:55:21.089Z","0.0.4":"2026-04-12T21:50:08.751Z","0.0.5":"2026-04-13T04:00:17.011Z","0.0.6":"2026-04-14T01:13:01.308Z","0.0.7":"2026-04-19T16:31:21.227Z","0.0.8":"2026-04-21T13:04:07.477Z","0.0.9":"2026-05-19T23:06:08.732Z","0.0.10":"2026-06-27T22:02:47.482Z","0.0.11":"2026-06-29T22:38:26.787Z","0.0.12":"2026-06-30T17:23:30.106Z","0.0.13":"2026-07-02T15:44:18.685Z","0.0.14":"2026-07-03T17:58:54.967Z","0.0.15":"2026-07-07T11:29:32.531Z","0.0.16":"2026-07-07T17:12:45.549Z","0.0.17":"2026-07-31T11:53:12.576Z","0.0.18":"2026-08-03T10:39:21.855Z","0.0.19":"2026-08-31T03:58:28.126Z"},"author":{"name":"Alfe","url":"https://alfe.ai"},"license":"UNLICENSED","homepage":"https://alfe.ai","keywords":["alfe","ai-agents","agent","llm","sdk"],"description":"Runtime-agnostic WebSocket client for the Alfe chat service","maintainers":[{"name":"kevupton","email":"kevin@upton.tech"},{"name":"sam-alfe","email":"sam@alfe.ai"}],"readme":"# @alfe.ai/chat\n\nRuntime-agnostic WebSocket client for the Alfe chat service\n\nPart of [**Alfe**](https://alfe.ai) — the operating system for AI agents: build, deploy, and run agents with persistent memory, identity, integrations, and channels. See the [documentation](https://docs.alfe.ai) to get started.\n\n## Install\n\n```bash\nnpm install @alfe.ai/chat\n```\n\n## Usage\n\n```ts\nimport { ChatServiceClient, resolveAlfeChat } from '@alfe.ai/chat'\n\nconst { apiKey, chatWsUrl } = resolveAlfeChat()\nif (!apiKey || !chatWsUrl) throw new Error('Alfe chat is not configured')\n\nconst client = new ChatServiceClient({\n  apiKey,\n  wsUrl: chatWsUrl,\n  onRequest: async (request) => {\n    // Dispatch the authenticated request to the agent runtime, then reply with\n    // client.sendResponse(request.id, true, result).\n  },\n  onConnectionChange: (connected) => {\n    console.log(`Chat relay ${connected ? 'connected' : 'disconnected'}`)\n  },\n})\n\nclient.start()\n```\n\n`start()` is idempotent and the client reconnects with bounded exponential\nbackoff and jitter. `stop()` permanently fences callbacks from the old socket\nuntil `start()` is called again.\n\nOrdinary responses/events sent while disconnected use a bounded in-memory\nqueue. `sendRequest()` is deliberately different: it requires a live socket\nand is never moved into the offline queue, so a timed-out RPC cannot execute\nlater after reconnect.\n\n`resolveAlfeChat()` normalizes explicit configuration, then reads\n`~/.alfe/config.toml`, then falls back to `ALFE_API_KEY` and\n`ALFE_CHAT_WS_URL`.\n\n## Links\n\n- 🌐 Website: <https://alfe.ai>\n- 📚 Docs: <https://docs.alfe.ai>\n","readmeFilename":"README.md"}