{"_id":"@ai-gui/live","_rev":"16-82c18168c6865f67bc639796c119628e","name":"@ai-gui/live","dist-tags":{"latest":"0.40.0"},"versions":{"0.32.0":{"name":"@ai-gui/live","version":"0.32.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.32.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"bc8dfcd9c42629d26bd5d63adc90426a59a16864","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.32.0.tgz","fileCount":7,"integrity":"sha512-7itKLzB7O5oF97Ho1W8fq/DZ9zUDcJoxYFtlgOr6V/woewAaVEnmDVcp532t91g2CBKYoiKFob3A/Nc42dTWMg==","signatures":[{"sig":"MEQCIF5IIykWfi6ygE9sUXCXpSFoeal5ieGA6QSuJC2Vs5/XAiAsEixXlN2yI8srQcFlpIchQpHvInnL9pYADpvMctCkHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.32.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/f455dc4e2195b379df2c22a6398476d7/ai-gui-live-0.32.0.tgz","_integrity":"sha512-7itKLzB7O5oF97Ho1W8fq/DZ9zUDcJoxYFtlgOr6V/woewAaVEnmDVcp532t91g2CBKYoiKFob3A/Nc42dTWMg==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.32.0_1787470209809_0.3120848144327317","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@ai-gui/live","version":"0.33.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.33.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"7f1fa549cbf4265bbaaa503129315e0e9b5dd445","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.33.0.tgz","fileCount":7,"integrity":"sha512-B4tWycn0UeMxn5/z3W607DsG6ijLfy+CZzQ7lw572Gp74EjfSYQgeApX2vxCt4dfdvyuRkwCmttrgp3OKX94vQ==","signatures":[{"sig":"MEUCIQC7RVH7gOQKgeGg1ZF/QYToKjzrnY2KY3T4WLboRWporQIgcRJgTfGCVqLqvjtUq5RyI5+cOrs9VrN28o5dYApy/ek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD69A9hkUIQFcPlPVDOP9P4qY3Csd3lWPe+PKSUBtVdGAIhAN8WpKgx8DiH8vta9Zj/Mp/KVI+X4vpMrTdznALujDaC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.33.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/6a410d252411206b4b17c1bf2b94e1b8/ai-gui-live-0.33.0.tgz","_integrity":"sha512-B4tWycn0UeMxn5/z3W607DsG6ijLfy+CZzQ7lw572Gp74EjfSYQgeApX2vxCt4dfdvyuRkwCmttrgp3OKX94vQ==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.33.0_1787640403414_0.2985713356586286","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@ai-gui/live","version":"0.34.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.34.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"6c14f846debd2adf54d1ea2f426d42d91964b84d","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.34.0.tgz","fileCount":7,"integrity":"sha512-pxAB8s+Tqt5ku5JZbaKyHM8NaCNFqL9WUi0xtWTLccHeagO6Ezzq0s+ccBDoeDVoL4aQI2pHOpVTG4Bz+xkdAg==","signatures":[{"sig":"MEQCIBeePfOEqDXV3fq2jmsr3uKL3FZaCVq52i2wpsojVf+wAiAifNnOAl7OlrMdd4iChhXFOwA7sdhikAE2qFHTg2HHwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH1JNAudoWwnFWuomBApRuIRiVrQXPcXbe4DM0z6iO2IAiEA9xl75wsxUABWyjtgVKEBqa6/hdWNqop8E5SrZUUerEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.34.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/2922f7f639f2f26a350ccb862e622bad/ai-gui-live-0.34.0.tgz","_integrity":"sha512-pxAB8s+Tqt5ku5JZbaKyHM8NaCNFqL9WUi0xtWTLccHeagO6Ezzq0s+ccBDoeDVoL4aQI2pHOpVTG4Bz+xkdAg==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.34.0_1788334257999_0.6777569252557176","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@ai-gui/live","version":"0.35.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.35.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"969d6495e9e70f84a3a9989b85e0d7b0ac1bda92","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.35.0.tgz","fileCount":7,"integrity":"sha512-wAvPzW98ghE6t638nX592YOUvUv/kcSAHKtNH8K2xxwutujz8OBPjy2+yccioukART7MeteCYWlLs9kZmwg8zw==","signatures":[{"sig":"MEQCIDpFFV0143+EkMjinUFHuW0/h/Cfwmne5gHae3ZQAsRtAiBmU2kXWL0AGtmXYzvWSHCN09SJfvMDqDzCkR61YbF3GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGHAA7aTE8VDot8t8LvsmmsODJdMds8h40lOp6ftozCaAiEAs2OoebOHTmSoDZ7pxrngn9LKPwcmvEmez2HXgRbQNnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.35.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/4c625375ef1f3efa3c789d5bb4b0b1cb/ai-gui-live-0.35.0.tgz","_integrity":"sha512-wAvPzW98ghE6t638nX592YOUvUv/kcSAHKtNH8K2xxwutujz8OBPjy2+yccioukART7MeteCYWlLs9kZmwg8zw==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.35.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.35.0_1788339219140_0.035794359893861705","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"@ai-gui/live","version":"0.35.1","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.35.1","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"da2ebf03fae9bfdd30336e3cebcdfd816fc72f33","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.35.1.tgz","fileCount":7,"integrity":"sha512-Vu8fa+DXDYX2+NKceCkzLRc+QM4WYxZOEivtzMwEfMfDKjIwf6SI3Qy+0oWCXsxFTCmeixnILudpgDoSE7v7/w==","signatures":[{"sig":"MEQCICXRSPd+lsSpejcbPPnpHUvnI3wdyduM+1m+L2gnln0PAiByt62ATUgMVu2T5TcCDNm2hPC5tEF8jEx4gvCDvtoBrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC76j3v36ndkgJFZof23oe20lIg6+Us51iE0YZuAQkVHQIgQEeRpWjhyBS7nnQGmMLgCZz5DMwC3nsQ8eGwMikW+6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.35.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/a1a30902b3e3299d36f07211b30858f1/ai-gui-live-0.35.1.tgz","_integrity":"sha512-Vu8fa+DXDYX2+NKceCkzLRc+QM4WYxZOEivtzMwEfMfDKjIwf6SI3Qy+0oWCXsxFTCmeixnILudpgDoSE7v7/w==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.35.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.35.1_1788340104967_0.3721382814477223","host":"s3://npm-registry-packages-npm-production"}},"0.35.2":{"name":"@ai-gui/live","version":"0.35.2","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.35.2","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"ea539130f468c2a5349cc426c84109fef992be21","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.35.2.tgz","fileCount":7,"integrity":"sha512-f/j7rQENgIreoxsnCDbUHrvzncF4HMyu/8e+cRvDyE3Zt7FwCTeCd4PWjdA6J7FWMematr9PU7lClg5KHf4t5A==","signatures":[{"sig":"MEQCIFl9cUPgE3wM9tVqGBd3+ne/kz+PrN5MJGNIfdnXdVXTAiAbPtLUzqdBFIMXcp81eTIvesLqenqtSOMAtwfTCwYRxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH4FYu3sbWCwbIym9ErE+Cu4Sm451LBpAqI8asGYXD3LAiA04u6Uc0zV48ajjQs4H5+0MjC6dp6UA8fpnmXCo4+qpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.35.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/3d257417756f661a1b0a9f4733742edc/ai-gui-live-0.35.2.tgz","_integrity":"sha512-f/j7rQENgIreoxsnCDbUHrvzncF4HMyu/8e+cRvDyE3Zt7FwCTeCd4PWjdA6J7FWMematr9PU7lClg5KHf4t5A==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.35.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.35.2_1788341139861_0.14721810492688414","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@ai-gui/live","version":"0.36.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.36.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"8679b6dc6a2d87eb1af80a4e0f23ba7ee458c136","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.36.0.tgz","fileCount":7,"integrity":"sha512-AyE1ejJG1fg6zgQQwhHOU9ktZJaJX+K8+mZoCgwoAch1gqa76MB3oV5jbZhSzGklcGmhNovXA/kCrBG2oGP7wg==","signatures":[{"sig":"MEUCIBZMzzc+shW+CfpUcPxdVBhONXVRuUulo5QWJV+U7a+1AiEAu+RTkzeV0RDwt9lbK8wfdmNzSoXjCDEWQW/8PAnGvow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC3weIlTjCwhKYkHEqd0aF+FQy+agjulAI3+0g7NTbJrAIgTPjBazhUKHR3Wj7hl9xqPxtWxEDaFVlLMEZZYuI2HQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.36.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/2edcf1fc17a658e3081b90e921d88b1d/ai-gui-live-0.36.0.tgz","_integrity":"sha512-AyE1ejJG1fg6zgQQwhHOU9ktZJaJX+K8+mZoCgwoAch1gqa76MB3oV5jbZhSzGklcGmhNovXA/kCrBG2oGP7wg==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.36.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.36.0_1788341684566_0.6419378974518142","host":"s3://npm-registry-packages-npm-production"}},"0.36.1":{"name":"@ai-gui/live","version":"0.36.1","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.36.1","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"ccd0a4f65ed04ba28a1d059e6d6a523fdb66347b","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.36.1.tgz","fileCount":7,"integrity":"sha512-KtAZkYAXnhXFlhldfngM5ry2pQtxeGPat+PboG2uzMrOiIm3m6HkldL+VlbpRCExYf5tmcPfi8ve7n/ueWygCw==","signatures":[{"sig":"MEUCIDu8nfQ/fS+4SkJeVCddNT39a6EbufYDGYVc2+HyAZyBAiEAz+Rf4HA2u0LidEDSvQ/p9vGYceX1caEMDykSHYXWhzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICg7suy+rG/sYztPSC51sfwN+l7L/yYuqCQ9QC5SSUqLAiAJzCF3IpyTApVPS2lXEX/s/oo+WFDrGxa26qRDrx/Abg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.36.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/f82c1e21b5e3eab200ba3fed4015c834/ai-gui-live-0.36.1.tgz","_integrity":"sha512-KtAZkYAXnhXFlhldfngM5ry2pQtxeGPat+PboG2uzMrOiIm3m6HkldL+VlbpRCExYf5tmcPfi8ve7n/ueWygCw==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.36.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.36.1_1788402564776_0.8286979638296785","host":"s3://npm-registry-packages-npm-production"}},"0.36.2":{"name":"@ai-gui/live","version":"0.36.2","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.36.2","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"c9a116d0adc6dedc4593a38c6cf765efc315c262","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.36.2.tgz","fileCount":7,"integrity":"sha512-VudrI7qYFim39NOjn1sj6J2ss7y5XnhnT2OxktfSkntFTE61TTrgypTU6nRm1mqfM05J+/P75K7SpQH9KAMPWg==","signatures":[{"sig":"MEQCIFfKHVoGpWfUoVDTkhNlr7ybkal0KLzWHuvG8l0UwlcCAiBMFxfsBRCnKz2GIKezPdDHvNCrjhRubR/JxfgOUTkyFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDes8uheemEEPUptuQJvmJlFztGwP+vgcs5mmHxjcFQZgIgT+REgdNtynYK2cIk10fYVu9lShIi4zk2tSTWQT7No1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.36.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/8dcf4d2919d0e74c8fb3c6c259d9ecf6/ai-gui-live-0.36.2.tgz","_integrity":"sha512-VudrI7qYFim39NOjn1sj6J2ss7y5XnhnT2OxktfSkntFTE61TTrgypTU6nRm1mqfM05J+/P75K7SpQH9KAMPWg==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.36.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.36.2_1788405756482_0.21798567669720637","host":"s3://npm-registry-packages-npm-production"}},"0.36.3":{"name":"@ai-gui/live","version":"0.36.3","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.36.3","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"bfc9eb046a30c33a077294301ba8b0cb9e5c60ca","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.36.3.tgz","fileCount":7,"integrity":"sha512-jVulzBSvnweaiSpTAjkNZu6xE+cahmIOn8xgLxmBzjz2/EhsQR77usLJc9dA6V4bbuEn4zhlWWiXss2whM52ZQ==","signatures":[{"sig":"MEQCIHS+c6CJs0k4d4icGf86K162wHcJ936qAUKW5lXkJLRiAiBQl517eMcZ6BoIjv90TRkwD/O449x3mbb7aSWAPdJaDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHFBU6Zji4ygqJR51O9EnV9LLyvnjuB/Bd24sR4BXoMVAiEAis4FbJiJnq64SKBlX9LkGcLAaoniVdjYoa2m2uMJpbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.36.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/4ab84d9319253dbed4087c1f040e1d34/ai-gui-live-0.36.3.tgz","_integrity":"sha512-jVulzBSvnweaiSpTAjkNZu6xE+cahmIOn8xgLxmBzjz2/EhsQR77usLJc9dA6V4bbuEn4zhlWWiXss2whM52ZQ==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.36.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.36.3_1788413064778_0.3297456206274607","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@ai-gui/live","version":"0.37.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.37.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"bf8386387d51e7b5e4f815516785d526f65bdc13","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.37.0.tgz","fileCount":7,"integrity":"sha512-NAWAXjOkimF8htrBEWmESKTMKmrFo1F6/jB4zI9cu+E/lALnmaWzUdQhMoaj0YNPrwML29TzhI055jF+cqbHiQ==","signatures":[{"sig":"MEQCICte/QjW+oXR28TC94L5onAWi31eg4EQ1sKA/h08ETglAiAj2KLdckALrMlF7S4YZGkBHhvCUZ482MsKopFZyub9/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDIz97vb2JuriKHJwl5m26d83/G6gzeMEJdUEDjrC/L/wIgCLhAYGu3E0hA0GYwbGaiL4j8rW660Lx94XT2qrHF4xI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.37.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/ec7109c0d92f655fe16146b6265f0870/ai-gui-live-0.37.0.tgz","_integrity":"sha512-NAWAXjOkimF8htrBEWmESKTMKmrFo1F6/jB4zI9cu+E/lALnmaWzUdQhMoaj0YNPrwML29TzhI055jF+cqbHiQ==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.37.0_1788435509537_0.3092351276257679","host":"s3://npm-registry-packages-npm-production"}},"0.37.1":{"name":"@ai-gui/live","version":"0.37.1","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.37.1","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"8081bbb530e2401350af42b6ac203b24ae70df7a","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.37.1.tgz","fileCount":7,"integrity":"sha512-437o+PydaKZjkEgcuApTBe/+OMTj0cDyi6xR3nw3oX31uGX8Bm9nQDMid7cXL6tnTV966Qc0rVuU6Cgd/2asTA==","signatures":[{"sig":"MEYCIQCSWrN+CMDXJuGczPBCz69gU1Ar0TgOhbX1vDCqvW8P7QIhAL05UQeCn4f508ikzOC71pD6Pr2QJwSicS6n1E68PBmi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDICS2u77q9ETu9LsEluZ8i7nuZ9YtAXVEEEdVrT1Q5cAiEA8K7pg0GF4EroF2YihGaJXIAlBywolBVL+Hy8ZS660Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.37.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/8540d78ff051e01757a8f45e8b424c87/ai-gui-live-0.37.1.tgz","_integrity":"sha512-437o+PydaKZjkEgcuApTBe/+OMTj0cDyi6xR3nw3oX31uGX8Bm9nQDMid7cXL6tnTV966Qc0rVuU6Cgd/2asTA==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.37.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.37.1_1788483108483_0.4026055155509456","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"@ai-gui/live","version":"0.38.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.38.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"5fd406a6a70b26cd2ce9d3f76c412501454ed82c","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.38.0.tgz","fileCount":7,"integrity":"sha512-DxWgSrOwT1vz0T4AdcX5mP8OZ6zgErrflr9hfReuyWL1RceGpwVEjvmJT6H+XynDMBR5PRAoEzSZanhjap2FFQ==","signatures":[{"sig":"MEUCIQC2X5kIPXVlUsMiVid+p6/mQPP7eHUccU//vtcHJVxvnAIgb/mwxNZEHzEPd94J6U1T2M7d973aZto0OqZCjmKJ9KQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDv/rhZ6fSNg67bjtjZ40onmDKzUskcgjy5kR/ZNDAYiQIhAMxjvFktRpDMiwPKzPvo307DLCHYSYB3T9LmB9VRLK4f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.38.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/0b4a869bc5dac372ef0b7ba9f56676ad/ai-gui-live-0.38.0.tgz","_integrity":"sha512-DxWgSrOwT1vz0T4AdcX5mP8OZ6zgErrflr9hfReuyWL1RceGpwVEjvmJT6H+XynDMBR5PRAoEzSZanhjap2FFQ==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.38.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.38.0_1788572290304_0.19137305137731975","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"@ai-gui/live","version":"0.39.0","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.39.0","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"fc9d6260a72efcca18331026bd2bc328016cfc5b","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.39.0.tgz","fileCount":7,"integrity":"sha512-wKEJW7jsKhnLsA3sMEa89hB0c8lT4THoBdniM7rLMcatqP9FXWKYFy+2qIVcyLzY5AxLD9+vn/1H9fodOJFFHA==","signatures":[{"sig":"MEYCIQDfhXbX19jQ7l9PiPcvZ/ssMWCWQVSoDKRVe0OEuljAUAIhALMDcZ/8ud9G6T4NDPUJAtQq8sNR3k6TymJoVGGpkIPS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDBfqaASMV5PffdWtwd+7+/hsG9n0XpwzzlSkAPssrwvAiEAg8SUfO0ilptcnsOnuxI1exotrWoZ9BOynGmfJ5LsMRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.39.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/55653467217f305a8dd2b769d74a8090/ai-gui-live-0.39.0.tgz","_integrity":"sha512-wKEJW7jsKhnLsA3sMEa89hB0c8lT4THoBdniM7rLMcatqP9FXWKYFy+2qIVcyLzY5AxLD9+vn/1H9fodOJFFHA==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.39.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.39.0_1788573828887_0.7635164381581065","host":"s3://npm-registry-packages-npm-production"}},"0.39.1":{"name":"@ai-gui/live","version":"0.39.1","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","_id":"@ai-gui/live@0.39.1","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"homepage":"https://github.com/liliang-cn/aigui#readme","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"d90a7b724f73a8b79b59c777179844ef08034171","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.39.1.tgz","fileCount":7,"integrity":"sha512-dLy9ARuJTugdLqFB0QTKNV5AmzWR3yEcZq91Eu1ywW2o6xzlORih/ME8MU3e+HI5q2TGY6XbeJADcPnnxQyXoA==","signatures":[{"sig":"MEYCIQDkuLd6lWC4YeDN7D8GJ47hSB7W7r1LLIS0Blve1j7YnwIhAK438PPouduradxg0Cb57JvNPQD/qcMDuYn7q1M0p8zl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCigb7MsJ+2N5zDQtsy7F+CvOID7CCU1IBPlX2uSfdxrQIgDTN/69djj4Ozgkj2MfPFjjeXRuDO/K1SXcdpTsl6i5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37568},"main":"./dist/index.cjs","type":"module","_from":"file:ai-gui-live-0.39.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"_resolved":"/tmp/45d9c7eab929e129a4b36e24b23cf118/ai-gui-live-0.39.1.tgz","_integrity":"sha512-dLy9ARuJTugdLqFB0QTKNV5AmzWR3yEcZq91Eu1ywW2o6xzlORih/ME8MU3e+HI5q2TGY6XbeJADcPnnxQyXoA==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.39.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/live_0.39.1_1788625823681_0.14642447011233006","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"_id":"@ai-gui/live@0.40.0","bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"dist":{"shasum":"36bf979f66d4b4ae8abc120a67ab68240176a2f5","tarball":"https://registry.npmjs.org/@ai-gui/live/-/live-0.40.0.tgz","fileCount":7,"integrity":"sha512-gWYOS3WpttBdZKX4VGQl2K+ka+7LEMGRi0CHwzyggYgR1hLIFXH1dEUT7YTtmupFpsVzsKWIn2c0elDnfZB/5w==","signatures":[{"sig":"MEYCIQC+Ta3ng4PlF0FdZCiAThFmjFLDH6d64vVzTTYkqtyVBAIhAJWktXa772hNIVuRxWWr8xq6LTJZd1FgAzaD2fa2J/cR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDnJn+VKwobzGseB5WSTyi/E1QSEosdua9LPHjwDadk6wIhAOz9HXlBtdpGQOT03PiPgMl1lpg6ncXY0AVqjxzSkoQU"}],"unpackedSize":37568},"main":"./dist/index.cjs","name":"@ai-gui/live","type":"module","_from":"file:ai-gui-live-0.40.0.tgz","types":"./dist/index.d.ts","author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"license":"MIT","scripts":{"test":"pnpm --dir ../.. exec vitest run --project live","build":"tsdown","typecheck":"tsc --noEmit"},"version":"0.40.0","_npmUser":{"name":"cy_li","email":"liliang.imut@gmail.com"},"homepage":"https://github.com/liliang-cn/aigui#readme","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"_resolved":"/tmp/ce07890379ac74d4cb183e3132bba78d/ai-gui-live-0.40.0.tgz","_integrity":"sha512-gWYOS3WpttBdZKX4VGQl2K+ka+7LEMGRi0CHwzyggYgR1hLIFXH1dEUT7YTtmupFpsVzsKWIn2c0elDnfZB/5w==","repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"_npmVersion":"10.8.2","description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","directories":{},"maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@ai-gui/core":"0.40.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.0","@types/ws":"^8.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/live_0.40.0_1789179913379_0.4233612796881896"}}},"time":{"created":"2026-08-23T07:30:09.663Z","modified":"2026-09-12T02:25:13.713Z","0.32.0":"2026-08-23T07:30:09.946Z","0.33.0":"2026-08-25T06:46:43.539Z","0.34.0":"2026-09-02T07:30:58.067Z","0.35.0":"2026-09-02T08:53:39.248Z","0.35.1":"2026-09-02T09:08:25.043Z","0.35.2":"2026-09-02T09:25:40.019Z","0.36.0":"2026-09-02T09:34:44.639Z","0.36.1":"2026-09-03T02:29:24.870Z","0.36.2":"2026-09-03T03:22:36.567Z","0.36.3":"2026-09-03T05:24:24.874Z","0.37.0":"2026-09-03T11:38:29.666Z","0.37.1":"2026-09-04T00:51:48.582Z","0.38.0":"2026-09-05T01:38:10.406Z","0.39.0":"2026-09-05T02:03:48.973Z","0.39.1":"2026-09-05T16:30:23.757Z","0.40.0":"2026-09-12T02:25:13.561Z"},"bugs":{"url":"https://github.com/liliang-cn/aigui/issues"},"author":{"name":"Liang Li","email":"ll_faw@hotmail.com"},"license":"MIT","homepage":"https://github.com/liliang-cn/aigui#readme","keywords":["websocket","liveview","server-driven-ui","cards","aigui"],"repository":{"url":"git+https://github.com/liliang-cn/aigui.git","type":"git","directory":"packages/live"},"description":"WebSocket client for AIGUI's card layer — a backend drives cards and receives actions, with no frontend project.","maintainers":[{"name":"cy_li","email":"liliang.imut@gmail.com"}],"readme":"# @ai-gui/live\n\nA WebSocket client for [AIGUI](../../README.md)'s card layer. A backend pushes cards, the browser renders them, the reader acts, and the backend hears about it — with no frontend project on the backend's side.\n\nThis is not a replacement for the streaming markdown path. That half parses in the browser on purpose, repairing half-typed syntax as bytes arrive, and moving it to a server would cost a round trip per token. `@ai-gui/live` carries cards, `ui` documents and actions.\n\n## Install\n\n```sh\npnpm add @ai-gui/live @ai-gui/core\n```\n\n## Usage\n\n```ts\nimport { CardStore } from \"@ai-gui/core\"\nimport { createConnection, createLiveClient } from \"@ai-gui/live\"\n\nconst store = new CardStore({ registry })\n\nlet onFrame\nconst connection = createConnection({\n  url: \"wss://example.com/live\",\n  onFrame: (frame) => onFrame?.(frame),\n  onState: (state) => setIndicator(state),\n})\nconst client = createLiveClient({\n  store,\n  connection,\n  bindFrames: (handler) => (onFrame = handler),\n})\nconnection.start()\n\n// A control calls this; the promise resolves when the server answers.\nconst { outcome } = await client.sendAction({ type: \"metric.drill\", params: { id: \"a\" } })\n```\n\nRender `store` with whichever adapter you already use. `@ai-gui/live` never touches the DOM.\n\n## What it guarantees\n\n- **A dropped socket never blanks the page.** The last state stays rendered; only the connection state changes.\n- **Reconnection is the same code path as the first connection** — `hello`, `welcome`, full `sync`. There is no recovery-only branch to rot, and no cursor to get wrong.\n- **Actions fail immediately while disconnected, and an in-flight action fails the moment the socket drops.** They are never queued, because replaying a click the reader made against a dead socket is worse than telling them it failed. `createLiveClient` subscribes to the connection's state itself, so this holds with no wiring beyond calling `connection.start()` — `client.handleDisconnect()` stays available for a host that drives the connection some other way, but nothing depends on it being called.\n- **An unknown frame is ignored, not an error**, so a v1 client survives a later server.\n\n## Protocol\n\n`docs/live-protocol.md` is normative, and `fixtures/live-protocol/frames.json` is the conformance suite every implementation tests against. A server in any language is conformant when it agrees with every verdict in that file.\n\n`src/reference-server.ts` is a minimal Node implementation used by this package's tests. It is not published, and it is a useful thing to run against while writing a server in another language.\n","readmeFilename":"README.md"}