{"_id":"@ashley-shrok/viewmodel-shell","_rev":"110-d83fd8a6fffeeefb2e0cb44b46d331b4","name":"@ashley-shrok/viewmodel-shell","dist-tags":{"latest":"10.0.4"},"versions":{"0.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"eabf8421bf6d1288c1e8e4a436754f7230b992ee","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.2.0.tgz","fileCount":17,"integrity":"sha512-W1YvCZGnGttoYiDPG/6QvTQKnoaxtM1tEMqEAj0FLIdm8aXMROMYCIZSbrBUwo+U46j+SQiTI1AaVz7yFR9Vgw==","signatures":[{"sig":"MEUCIQCdN3owx+pBZ5GFy/edyAku0drt+NcJwfA1IdjaHEnG0gIgea9ccGToWQf/2/cjv64+Ot3kvOTCJ9srUZaghPj9x0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52797},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"a4c342bc4f3087cae8a50ea9d73ee8197bd97082","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"Server-driven UI framework. Server returns a JSON tree of typed nodes; a thin TypeScript adapter renders it to DOM. Backend-agnostic — a .NET reference backend ships with the repo, but any language can produce the JSON contract.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.2.0_1777594162673_0.16121924782040264","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"a61c705d577b266be6e8daf5f429d28f4559eb4c","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.0.tgz","fileCount":17,"integrity":"sha512-gr4tVH2E/snKIcdrCB8t8zQ5/3W7OAXm4asorXo/0P2nbBJ5HL/VBEgrzImIcsWCMHkWOJoIecMUBtchxdVGyA==","signatures":[{"sig":"MEUCIDseEQqt/1sWj1vV7IImuQJpo9DaNx342fw1GKeFP3/QAiEAh/N77kQkI9OYkFBSKmIuAOY+syUYrcU4bWiIi3qhRMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54660},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"65b7ce0f427d5128b9a8d0e9d2e34a673134a2ab","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"Server-driven UI framework. Server returns a JSON tree of typed nodes; a thin TypeScript adapter renders it to DOM. Backend-agnostic — a .NET reference backend ships with the repo, but any language can produce the JSON contract.","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.0_1777597766589_0.2567542273912764","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"684c7d170b9904eae03a89481d29fbf8c1af5dac","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.1.tgz","fileCount":17,"integrity":"sha512-Xgf/ts+Quy5tOutMFJH/UAdoCVyZufmnB/CV321iUlIBfjeJcohsAib1ynDTVMw28Qz5+er1dlDamouky6/Fjw==","signatures":[{"sig":"MEUCIQDkx3xbxHAr72B3kwFjQH16XDqSskw68dRXP3PzuYzEbAIgVDPn+/nFuRG00EPzutE1B0X/OFf3AxOEgzUkoy9VFb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55011},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"966771b4c15cf13d0a5298713a9436be2b08b4ee","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.1_1777599248285_0.03795006861713879","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"33e536a2c72d25a4666747407a8482c83713195d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.2.tgz","fileCount":17,"integrity":"sha512-oxX6qE5LUvOp2/39gDvmrk/PV9Uvvr4zA79/3pP9sCCcXIy+QCJqwz6Uz9YMiM6Fvb2kN36n0qE0SUK+oOhWNg==","signatures":[{"sig":"MEUCIELDt5oyipCOLK0I6qr94Gju7rckHNzAV1nxB6+XzanSAiEAyEnYHRJKhT3+sJz9/uYY09VSKOwfQsQYWAmXWNtaqzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55388},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"ebcbea8c9574937b0ab4a9a4514defdc86b911c8","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.2_1777821547577_0.2674487473903504","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.3","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.3","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"5817cbe36bfe2f0695f0ad7ca8a1f1fdee9b6645","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.3.tgz","fileCount":17,"integrity":"sha512-D7ohwwhgBx4WbsnV6Wp7U0s6WY9cJpf2WV62IhpIClH2c2ldG5dUrltASOgaFFdyeKCQb68hvTmHEJ1vjFnMug==","signatures":[{"sig":"MEYCIQCHWn6FX0Zd45JF+K0thNjcwCRBW21dGIkNG8z1F6wWDQIhAKFuGpuSOI8rz2khg2fqbmStFF1ATo5fRiR0w2O8h+CM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55614},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8deeae6e1b8e1087c924e076b4522e906392ba89","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.3_1777858223990_0.4063432836022587","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.4","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.4","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"a0cc46e279c356a53eba4f07f41707bc70440a3a","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.4.tgz","fileCount":17,"integrity":"sha512-M5NcQDfoqBSltyvyIxj61IHLdqfHAcGpQhh197ZV6MdNwBRROppeNI2bTb405d7lh/aUy8CcnLBIh2RFRK7dSw==","signatures":[{"sig":"MEUCIEs6bKAww1qrl1nxs2VJVlFqHmEWjXw3q/kP7StfYfgMAiEA/limnb5mkX91a+rSb0XGQjCJ566fOz8MTMlNCc+mWX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56066},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"cf9a5535ff6e16a9951a42663a001c084c4462af","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.4_1778554105005_0.30259708811479635","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.5","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.5","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"45e8446b77c7784f9043f3d5f3b38009ca6ad7f0","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.5.tgz","fileCount":17,"integrity":"sha512-J96j2vO4XRNIW3riEzC8vx3o8o5Kgn+B4xQjw7LGpoWkehf8yWEf7hDGxGw5zVkZgJbSNQHlCTBgsp6ZBr5rjw==","signatures":[{"sig":"MEUCIQDZEbuvQJkp9YGBoN6nDtIph+7nw5HxIaQJ2w1rY3ra1AIgf+tQcChWxwm+E4hRgKOt9nL7XTseADeA1syxHUPjlEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56759},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"53c05677128d5247e95336d78921244e5d73a8a0","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.5_1778559092624_0.41751658819506465","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.6","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.6","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"52d5ce38e3001641f9aef6471bcf4aaef9b2357c","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.6.tgz","fileCount":17,"integrity":"sha512-ADXTTPLQenGZk7/VWSV6HXxUbTfVG32RPuvdOvsA3l8eX8Vq1SnEALehwjUbA2AI7UU0mYG0dJRX1isFoz0ulQ==","signatures":[{"sig":"MEYCIQCKQYrno0iNksxI0Py/BWOr4grja/Oq03Hwd3oMmhjCaAIhAM0Ixh00hFlW1OnKR46uh8CQNvNbfXVIrHJaThHE7IRp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57993},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"a115ce027a5bffc1092b3a96c5f93be501cebdc6","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.6_1778576168599_0.9632903515810787","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.7","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.7","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"1aa89f436e95d8782fc6e3fffc9fda0503009bde","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.7.tgz","fileCount":17,"integrity":"sha512-PxPB9JIgLoaGfqG53JYsNB4hXASFc/0+9CIzVl2qVQVFo0u12kgn7hatH7dLM1InAE2qTbKaf1uT/Y0B8wwxMw==","signatures":[{"sig":"MEUCICTz58hBu23kDqWyBBXFvNR64FA8O3EOsNSgElKyApadAiEAyn/8hV0V7WCjz5vJzVStLhOsBuQ7MeDSi/tOtJHcEps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58275},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"063c1616b52e47a5b06a2bfb0ce299f2560b56e7","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.7_1778598585182_0.12105616321586288","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.8","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.8","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"90ee5c4e7f1ccaa02c1abdf2a040cbef7869f753","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.8.tgz","fileCount":17,"integrity":"sha512-876F4Vg4Ch0v0Qy6yjYCvBJobLeerJD1HQ68iOtwmtn/vSD7eGxvdV5wzbznr/xfolKwxLVPlN3VdO1Vy6ogWQ==","signatures":[{"sig":"MEQCIG6r2eVAwCUcUMLTTeRgM2eUOHLZhzUxN3wrLwTGWhEBAiB8HPLDL7LM+lnd4ZAIrrdIDxmpI2pg6Dhr7v7UsmhrBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59040},"type":"module","exports":{".":"./src/index.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"9e4134b4c0b0016e603d0ab18e59b5aaa107333f","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.8_1778601108806_0.12401447774935304","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.10","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.10","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"63d8d30de1708f09929e8023b5bcf6707bcf2284","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.10.tgz","fileCount":18,"integrity":"sha512-K9oJFRFWBBf9CxvO6GQgsjS4sBOxRiaLPkd8T/mi12x5qeKhhtj7YtkBYCmI5PULFcSvbk75r2OKVMQtPxMtHA==","signatures":[{"sig":"MEQCIEHE/u17bXBBThU2V0REglmUXau7BM0cA00sv7HVmKXyAiBKh4J0zlncuIKwY8JWF7oRGafMd3bxtXl/m9XRPzowhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64421},"type":"module","exports":{".":"./src/index.ts","./server":"./src/server.ts","./browser":"./src/browser.ts","./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"dcb715f964b70349d6dc8e8d3e8fd074d6033746","_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.10_1778827731960_0.22503686365557152","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.11","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.11","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"5cb76a03f5f48ff75e3829fc3ee255e46c6b78da","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.11.tgz","fileCount":21,"integrity":"sha512-qQK2a9YijUoP+1pJa6393UR+wpUg0ztmvXZJx7m2pmw6AALL9PQ9vz1mnxTKwGfvLQcxrsCG+NVhuIWOGBa98w==","signatures":[{"sig":"MEUCIQDvXaj61nw5kf9Gg2BKowM0RGSC85ozttdEFsW/D+l7RQIgVWlaIg94ly+zVnDQNdE18Bd91wpLtWrCCdw27jRHdk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67969},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"ea42c73b50af923e670d189970c05ce57fe8ecca","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.11_1778833445232_0.6916296274073028","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.12","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.12","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"a2a64b18c0c638d0077ec3663417bd6f2ca0dce5","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.12.tgz","fileCount":21,"integrity":"sha512-C5UF0rDWIQLHJ60IDEcJcwhm7kpAOgKRSuXf3mNhgorz9XR8H9I6QfA820eD6DW3DP962PyhdJzkk8KjrrZ2Xg==","signatures":[{"sig":"MEUCIQDWf5+1+CxMgY5WM78OJoEp9N88PDnvWv9pVJeuRHC27AIgM+owQhTdZZLQ+q6kbTfzh+xsoY05OSithS5MgDrbeac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68592},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"ae37badcac9a241de68dd0f5b7fa7e9a6d1af257","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.12_1778841216827_0.14969895404113376","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.13","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.13","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"2d1d823993265760359d163203897d392feb5e7e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.13.tgz","fileCount":21,"integrity":"sha512-grXifIwXQ5HhbfLuLLo7bc7iBa2GFB7PGDjRvi5mZ6GKoHcufIPeDygeRhOu1MwjC0UrcqeO41jKOyLidLsT3w==","signatures":[{"sig":"MEUCIQDJZy5yoK3ZFRbolIc7E4UM3Ebn52Ur+m5s/xo3M90fpwIgMXMu8E2JriT6FsZNdWhRnc3WHaIi0L6+rQ5INR44uPY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76761},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"1c22cdb60cd666c2d9eadae2ce94e2643d13526c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepublishOnly":"npm run build","check:core-globals":"node scripts/check-core-platform-globals.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","vitest":"^2.1.4","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.13_1778855094466_0.21659803786419518","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"@ashley-shrok/viewmodel-shell","version":"0.3.14","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.3.14","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"6085c3055b6c779d71d0bf1ab5f45fbe8cbf2ad3","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.3.14.tgz","fileCount":21,"integrity":"sha512-EFnGXfEiHTf+PkaKh9l5NBgMClGo1ruEyAq7OVJMPrT+OivaK73bSNxxqG/Fjs61GKISqJmTbI8U3NKnSrMUVg==","signatures":[{"sig":"MEQCICRm1v3aLsJ4ayo9Il++6AOZlryKYDzksC/wFw/3/BZcAiAgbd5OP3NXCauL3ojBbukT/pIX6o7paOKQ3cZbNxOWEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78982},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8c8498cf64ca084e231f9234254daea06ddeed57","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepublishOnly":"npm run build","check:core-globals":"node scripts/check-core-platform-globals.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","vitest":"^2.1.4","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.3.14_1778861976777_0.42935756045446927","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"b7a6115d07fe50da214ef2901824e20c23177a77","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.0.tgz","fileCount":22,"integrity":"sha512-W4hpnIzCgTqifKkci3Cz4vvscGJqk1Ugqw4WWBfoyOnyEzjhYHG20GkSdbDnjR9fRh2J0fX2j21agxni1bcw2w==","signatures":[{"sig":"MEYCIQCMJZz/VDp0M0cGc8n02kVKwd38+DuYrVWTD6YLbxlqUwIhAPFOiaikFlAcsDqX3oBbFZN7cVR0SvgYZJADFUaMSLVj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91398},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"c973ec4806a7c82c9731f29d861cb5653ec72dd6","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","vitest":"^2.1.4","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.0_1779095857197_0.9692027063930058","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"8b6b10e7b0c2f58621da8c06658abf05b16d717c","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.1.tgz","fileCount":22,"integrity":"sha512-pZhYNEuMUWbRO+MPxHHMzU6k9QcW2zLVPdQueUqDsI41/Yy7QaYXkFuL8IOb5jJqFh+dAL8NAKDw1H0VZ93QsA==","signatures":[{"sig":"MEUCIQCah0xm5wnfqcfaix3+feJSPjTOUidakrLjl1K9rPa07AIgF9b4fRkamivPAv6dPg81bI8ga7bK6HxIgMP3FtVAY6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92067},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e524e0f2c2236f45975bfb6d61c3b45eedb3e74b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.9.0","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","vitest":"^2.1.4","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.1_1779098962008_0.028890721457226265","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"dist":{"shasum":"beda216ec02bf26d562b6437b5569df8500c1bc3","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.2.tgz","fileCount":22,"integrity":"sha512-mzwTdlXeD1o0ilAy4lP6MncIwH+DfjmdYG7NYifmNZ5lNAQ7AUR4RhOwPIWijfL5jvozm9Q62sitYoSKDQHquw==","signatures":[{"sig":"MEUCIHMvWVTZ+joTbHBdIcbnTaKfBcTrjhOqnMWZmxn0TvW5AiEA7q4wOmpba/DAQf70TSJB3e7Jql29cBs16lDS7rxw6TU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92303},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"2587ee03a837821a1fe87ae6d14a0d6682cd9b5a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","vitest":"^2.1.4","typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.2_1779159541011_0.437459160468223","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.3","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.3","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"e172eef963a427be328e333e72e80b7854151c94","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.3.tgz","fileCount":26,"integrity":"sha512-+d6KBxYDoMclWu2cOea9wK5H1hRB9BdZFLcPIL9s01ny9dOdlXZDpPNAouTSk3FRIpnqrWW9ATR7efRwxx/qFg==","signatures":[{"sig":"MEUCIQCsaAm7iiI7C2zZtvqq8kLkF7BNKUZLJ6m84Mvr1CI06QIgEdlIFhhEDEPjjKk0YozgPvGHE/ajhn3hEGc5MCuvEoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188786},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e16ffb4fe3e352b83c73c3ad628886ead2432092","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.3_1779193967627_0.9122998593172369","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.4","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.4","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"7d41b67b6854a5bfbb47755b316bae686d9ca84f","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.4.tgz","fileCount":26,"integrity":"sha512-ADktiNbxHrIjwPKi8IXckRN7g5IzUkdHRoM2iKoRpA21wo3qFQePLgtIJeVWu5a8pKSa5A3R2/hpqSVBXl4yAQ==","signatures":[{"sig":"MEYCIQDwRjI+oolk1d4n3jNPhVbQiNTxJa+AGCUapczq2hthMAIhANV7NXTF8iy+e4HDRzxwRnlToWMkd1j5V29fvpVukFja","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190600},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"a20e94cf9b1367ceed3b448e43cf27d7b420c4cb","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.4_1779195433471_0.4569224493898434","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.5","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.5","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"922d87cc4c711a431e12b77dfc69dcb996ac160e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.5.tgz","fileCount":26,"integrity":"sha512-4ONcyJ6/GGKxLISvIXhXSLdLD8dE/O4kRtNo1pfynEi0R30bFyqORv9w6iJqeG+hSshDlI49zZB9UL862afyEQ==","signatures":[{"sig":"MEYCIQCyeqneyuYZMvxl2rs+vNs9HXPEEbYCgRCtPRjzOBk9ZQIhANiEwyM+AobiCjc/U4Kyu59dxtIJ7wMDIj2eV3ugffZC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195943},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"739372d4d8c39a6fe1f89c85dc2b566efb6aa464","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.5_1779198153591_0.0064646817132985035","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.6","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.6","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"7ea358eb30203fff6eb810839dd932f04f277d44","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.6.tgz","fileCount":26,"integrity":"sha512-tP00ol1c43ZPmbpnMhS+ks0J3eUmLpzJWE0of9Eiv3zs+ZLX/DRsIMWLcKhF66146V67QZCZcryv15R/GiHnEg==","signatures":[{"sig":"MEUCIBE9kK138SeAG/M0J8ReVrdipJSnrWUiB26iDux+wPmRAiEAjpXJZZctVyOtCM4YbT/LqtGH4OkCOQ++Ufau/SFj6dQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196697},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"f280fb12390c8b14edbb5c2b52322d317415d26b","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.6_1779200659175_0.8013092321332393","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.7","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.7","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"658ecbdf583a50276181bfc6db37a1ef0b78d476","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.7.tgz","fileCount":26,"integrity":"sha512-bOZ0w198me/LsH362TFSD+OzvtTfEvupj72N2/GAT5mvI0IjtSEt80NhkQNFYtt0NUuV7pgI3dPcxuxY2QH5og==","signatures":[{"sig":"MEUCIEnpW0Zj4VpP3HKBJkvWkiViBVUO8EeYxrx2GtotrSebAiEAk1Wwy+Sln+HrW6Yy/BBbkuNiFYPy5PM7a11UX85S8vw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198594},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"22e710a485adf6766839cfd82515db75f3d55ab4","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.7_1779204891059_0.702457552067784","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.8","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.8","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"bd9b3b31507ee2a9939caa190d298a0761ba056d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.8.tgz","fileCount":26,"integrity":"sha512-3uadio1MN/T0acMiyRdqhsCYY12u1/g/StPlXBnYYVfY0466WcXXIvK7L7yoB2SGn1XJM81ofhzL7lQvT1kEYg==","signatures":[{"sig":"MEYCIQCXHpcvxP0k3gSz7N/Fw4WuxVNvrMiW6fT5+yodL9LKrgIhAL8WqyoRtUo8ThnKJbMdDE9b5XOELySZarIPVDf70cCq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198940},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"0ffa7cb6600c22b81bd6d87065c7c667cbc5fc84","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.8_1779207100199_0.2200769501312101","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@ashley-shrok/viewmodel-shell","version":"0.4.9","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.4.9","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"922ebab404926e7e6d85944be0facbcfe1e4cb9d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.4.9.tgz","fileCount":26,"integrity":"sha512-apYtoEOy+jEmP6bxsd0p7GHy3b9o2E0phF36PuGmEs5vCjYnnJl7kpj+xY4nkqMvy5ECWedDZs+Az1J94zFjxA==","signatures":[{"sig":"MEUCIQDQXTyz19KwBbAE3/WiFPs+0qiixOydb1C6nLsoCDNT8AIga86v7S2MT9nqoQlcCkBMvxoM+jnzhkZqwbZVg9rT5eU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200676},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"dc9cdfa4a38ddc67c29174658a2f669bfdb9df18","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.4.9_1779207831489_0.7564644146692205","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.5.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.5.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"f9171059e4d9686ea337870da00e99caac48e96b","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.5.0.tgz","fileCount":26,"integrity":"sha512-JWnrX409F4Cvr82NedW3Lho5UKcO1FrpKS6eew4w58B9AJYsDlS3FbD+EcEubMZcdwAIbqkfu3tFPWJNIrlbUA==","signatures":[{"sig":"MEUCIQCh4yfc1+y7bwomS0kAmUtIPjUzLHfyIY5KpvvVM6c/qgIgDzppt68aINxgTGwhJhDUzsHRiFH1N0u5P0ocwaOLJlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212254},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"2b03cff9a447d404f6837da51ee3b99f0a70abb5","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^5.0.1","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.4","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^18.3.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-testing-library":"^4.0.0"},"optionalDependencies":{"ink":"^5.0.1","react":"^18.3.1","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.5.0_1779253092251_0.21991128388992753","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.6.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.6.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"b946bc2f27b6aa42a815effcc3f0f12e42c7e5a1","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.6.0.tgz","fileCount":26,"integrity":"sha512-JofX+cF56huwugDEfdPScGO+cMabrVvWXOBZF59Kpz9pCt7Dm5Jbwa4r1GYyhrOCoUH7ggW+qjjOAm55TaPvow==","signatures":[{"sig":"MEQCIBYshwB9fa+j+IOog2GczUouIzRAHJh2JUV2oOvK2AD4AiBxKUR9BuPhVn3mLuBkPLf+6/hRlHLj2kI8G/wvxLDr3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178746},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8bf3036e7a6a3c4cdceb1ea5a628db61daec1feb","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.6.0_1779279016219_0.8503425341744388","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.7.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.7.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"2e3781f7ef5a3ee10e748038bdc963e58ddeb66d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.7.0.tgz","fileCount":26,"integrity":"sha512-8LSAoOSwKQlBIauyq7rOWr2JJngI88TyJp6pb7+mZTSL9FbU2NhPBrSiqfKrtKD+j61lD4/HCJZaoPlPqr4PgQ==","signatures":[{"sig":"MEUCIQCsFvunlN1zf5edvL2I3IQQvJ/slNTvEQg2iJ0J4dRF+wIgOhXLymfcQ8Y4heAkmRkLjHnN9WLnGhhZkEpwVHveEJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180585},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"899c0ad067fc97d7323b484b139279459842f1b9","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.7.0_1779286925958_0.7571005428185573","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@ashley-shrok/viewmodel-shell","version":"0.7.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.7.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"1ff33a7c8dea6aef3fb2c4567f0bfa92adaa7fbb","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.7.1.tgz","fileCount":26,"integrity":"sha512-z6T1OaKLsJ6uPXOJKaSS0NinlOTDU/i+OWjcrAScP06IeIE4pgVqbHPdZ5X9oef0pm0diO4vDcI1mPB0z8Kpmg==","signatures":[{"sig":"MEQCIApIbtVTVfqV5/BorARm8ilVSkVQI0JS7KetlVugZaeLAiB9Hf2A3PW0XE3ghuQdmEYh58UhGDoQ1RCDlzuln8Y00Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181823},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"eefc6f238f1974006a69593df50e3a620e98869f","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.7.1_1779288094235_0.3244447131814201","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.8.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.8.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"6b0e883aa639b944a6c7f73c4737fa0da35b6c37","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.8.0.tgz","fileCount":26,"integrity":"sha512-p4f1u8hzhZTAq1w16zaw6XiDcHLngYYKqQE9ayn7AwmXgj7VQOVcQaP4jIeb2KK7k/NdLTndBMdUkY5SZ9xTag==","signatures":[{"sig":"MEUCIBvYi0kpQqOgnBOCjgzUHgMzTSOMi9hTJqCFlDdh7WDmAiEAxYYTwgnLplIvfE+4ZDfq1YALy4QYqNK2Nr8Z9NVCNbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186949},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"ab2c222ed5ca71e5fb53e4e5d362b582501d7a59","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.8.0_1779290036173_0.8299735372345161","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.9.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.9.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"d51f6dc4eb4dd5291cc53b401cd2a92b7f39edf6","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.9.0.tgz","fileCount":26,"integrity":"sha512-XfVeBPfmCauMyEe2rndOaqXFq3XLIbeRHu1vbueC6LGznBZ/yZoUqwR92eBqCeZlSQgtcPsamAYaiTTR0SgYDg==","signatures":[{"sig":"MEYCIQCxQ5cw40SviEr5hnc4L65e/5Yok1lSAfDAcVJpZnUXxwIhANG/N2XK18AM7Wjbz7bpBNuyQwESIlLOZU6w7Bg+Mx2x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187936},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"9b6bd1b19daf9d3056ecdf820c13467198b899d7","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.9.0_1779365011196_0.7836096907282797","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.10.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.10.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"106141c04d3e1a6bfc358f80860732493fa211e1","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.10.0.tgz","fileCount":26,"integrity":"sha512-XfM9CNvCePNmzkIR8HEnI9+GG4ou6lYkNjJEPXtQ6iz5sK35qKAvw0hK7SWqGiV31+YhTvSdUZQ/YqdMKS58ew==","signatures":[{"sig":"MEYCIQD6buuhUuH0cfhhKAGuEy2BWt+AffAoc54+T0OdLRh4NgIhAPkdsBC4UcnJ6gCLK41vY8k/DglXlZSPPfoAcfMaMWoC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191611},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"af78f13b0d8bd106249b6be674e90941e4f6a891","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.10.0_1779563442654_0.6123522503128893","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.11.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.11.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"e8bdebd59c5472ce18d935700377082cdcb1c60d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.11.0.tgz","fileCount":26,"integrity":"sha512-kUTpUU88W9Meww6MdUTrIgxr9k+o9JmpRDJuHWOK92gACLjL6eecfn3/UfEu7yBCiuvDUCE/CM3KyY4OGI9VHA==","signatures":[{"sig":"MEUCIQCJCmQQAFSpV5abp/vPNaiayBBxSQJBdR9hpQ7SYBPUPgIgHMg0ZtfK/AayraL0sRaLcNJufnvcIuznN7RPlY3aSyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197119},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"6d8ba34a917c15a1916b19a1d08ceb560657044e","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.11.0_1779620791463_0.5623941647921153","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.12.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.12.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"16dab398eed50d0abe3cfa151466ddce7fc6433c","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.12.0.tgz","fileCount":26,"integrity":"sha512-868fEAtyUYAUwxApwBqnIXK+VATwhtopaFEAq93ZHDEpU3J9kgTM2fr12J0c3BAuYlZvvhyU6gEz9BcCVAT06Q==","signatures":[{"sig":"MEQCIGY0g80c0H9PGU2x/wznI79+THTUPB0I+QGxezXIwFhuAiAnFHFgNAh1EyRw3mn9DU/SGpMBAA5cq2CD9goF47EtTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207453},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"86d70985770dcc4300c1b47b85f16b3764e8e050","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.12.0_1779967795538_0.7754666230648029","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.13.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.13.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"3284f2f931288bed197e54e53fb026207fc71ff7","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.13.0.tgz","fileCount":26,"integrity":"sha512-16j3I+ZfwQoJ073m5XqIveBIgnFGLP4+OB4uj5Rtm+1PRB6iFhGFXkQUUF22jI/MOx6WjCI8JD8jx5wi/79lsw==","signatures":[{"sig":"MEYCIQDjab3HY2L5NxxPbG91Ubbfs27mDUhsWAZawz5paZNy5QIhAKlcb8gIEWDK0nrQkIajSU0TSaAg/XR011NPtu1mTJNx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213256},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"eb1d73d0922d94ca7d70c97caa80da1789cb1602","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.13.0_1780317878075_0.914647054612947","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.14.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.14.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"76afef4494ec0c535bf9dadeb779f4f52e7766f7","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.14.0.tgz","fileCount":26,"integrity":"sha512-WDbKkdqvkOfBVVbycbLJ26i/U8XK4BJnkNcMPjnsWLHNE6iMGi5cG/vt7xWC9HrjImhzTGLBrZshMkJBWhZ4pg==","signatures":[{"sig":"MEUCIQDGn8po6eGb7sgevvmI+t6NHslFNMpJuuQyTw6Nm97TEQIgOg/yUEimwLygzE0mS0OUI/mpNJh1pa6diFLlwHWczpw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216949},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"037ef5d1d7840ca4c68644db4f2efbc65ab539bc","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.14.0_1780318860857_0.11150476372401097","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.15.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.15.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"fc25f374501b85445d7b57922df2dcf1ea53a64d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.15.0.tgz","fileCount":26,"integrity":"sha512-S9iXQBq7AS3zlUzUDrtFZyjyjcwaQMjro9L+OsZiL8A7DZP9wtyxIYGJlBb4Y33yEXr1qD0fGzVQa0QyRKPNtw==","signatures":[{"sig":"MEYCIQCxkik3u6HzZSEvqTF1LmRrYynQC67/vmqAHMwVMQZvJQIhAIkotJuHCE7XXofMkBFNZME00KYEqgYYkvDhEBbpGAn9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214540},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8d95bfc56570feaae27d0ac8df6965cd6adde2d1","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.15.0_1780334819615_0.23489456357375182","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@ashley-shrok/viewmodel-shell","version":"0.16.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@0.16.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"368625930df404f045954ac6dec476cca198e59a","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-0.16.0.tgz","fileCount":26,"integrity":"sha512-cnfkgM7FuXpbTf0qREED62Bt/5jfjT9DFjidavulFw8OsVTb+42BEW/dEFH6EtRgE86uUTI4iKzZ13MaHicR7A==","signatures":[{"sig":"MEYCIQDqTz/8ZZs/wh3EOTQXglR90nfAVOsfub3ETGVA8rTGTAIhALm7z3B5LtsEKxvnFQWQjVZIouHoBc/yejWcyiW+6Lex","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218986},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"d583adeef2c6fe687a5391555dbc5084717b45ee","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_0.16.0_1780417591629_0.8005350569629472","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ashley-shrok/viewmodel-shell","version":"1.0.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.0.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"b5949df3b41b87aec4a066bef0ce1bd7998b40d0","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.0.1.tgz","fileCount":26,"integrity":"sha512-6Do66oJ/H6Z3JuI2y6/avFKXVrOjZfGwQ6vVrhwnUHs48rPfyUtp3K2Ts3gKe8JJMd2WRTRAsFDGWBuT59qkOA==","signatures":[{"sig":"MEQCIE9dXW6bAsj3p+3wSuYRa8BsT+pLMRYgxQIzWD9tsFYoAiBM/BGwD/8/A9WL9ECnZUffAH5ymXlfiddN3Tde6JF/+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240407},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"06e80c380ac640eb36881e3a93ffccba502f75c5","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.0.1_1780884056752_0.9042538309037507","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"f852553a293375404c0d5708c56de80f1b163a80","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.1.0.tgz","fileCount":26,"integrity":"sha512-L2tJDkycMM1EFVkYy7e+FN4V/YQEec6aCcD350j43VQuVqKU08zuRMWIytieY+5rZbFYE5p8v6TuTl7PbGDThw==","signatures":[{"sig":"MEQCIHsdy+eQyJGvLJWRlkr5hnyyu1rz+zOcOEZXg+ugibTLAiBr1eIVxbJumle8xQ6gkGUoGsc3fjgtS+lmMSOC0NPSiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244524},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"b9f7f19cb1bed0cabec45a7570fe1c6a2e309bd6","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.1.0_1781402049304_0.6528270680253112","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"2ac49c958742803b402ae45206fb48099a68a107","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.2.0.tgz","fileCount":26,"integrity":"sha512-9j6iNGSoNOwxRhZ7SNggmFKOJEy69eSVH7VRYgyXraYxJ/NcgYGXNRip03tyvd2Sm/vA7/2u+8jaIDv2YT+STg==","signatures":[{"sig":"MEQCIGY6x4gxQjgO33ZxOe32e/yUvhREwLpqOVDHCpd7Hoe8AiBeC04dm2Ezue89EljYIIRXEhxVudyrIc8RHN7RMIRI+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250490},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"766902aee910c5e5ad3f64698c4efae77787dfc6","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.2.0_1781402065968_0.5331651305198661","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.3.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.3.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"8ea05c5631e065b90841dd117b9d2d9cfb2a8c49","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.3.0.tgz","fileCount":26,"integrity":"sha512-BbIphFNcWnGIdi3ccdWFgSm1AHqrUchaXjYbpZyqNxqNUg4m3rq47iDVlC8Fcg+OFqLNAwOPnU5r5QnrhhPfmg==","signatures":[{"sig":"MEQCICqOG6r1rMn9HrYF2d7ps3b1ms3/vxf3kpFpPUPGxEilAiA/hW9AYIyuRdZT4QlyAg1Ol0YTmnyj1aS9E5jk9AIeNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250793},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"1cc4ab0f09d1b089efc7614b829465af97a92637","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.3.0_1781402070850_0.4298970946375351","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.4.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.4.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"96793926ae81af6a7fc144ebe6e8b76b70ccfa2e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.4.0.tgz","fileCount":26,"integrity":"sha512-KY0reYZpe3m/Lp23QuhHyjF0bm+gxxxTF92Rp5PTnE2sWMPNCfPijnfkjVBk2kJPmSgUeEGKfwHYJG39M4ExQA==","signatures":[{"sig":"MEUCIQC6TRmsB8NNJK0N13qeguvG9/CX5k5egURSfRLi5GUPlQIgOI2AYhlXdArTbPF7RJcZ5sWxSz+pSZ/vFvNbEImGYSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260843},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"53b0e50a70f28f7c45850436261ce90f354bf744","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.4.0_1781422048201_0.3136100864580864","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.5.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.5.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"3bb0f7b87404b27248522cd23dab508635375f5d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.5.0.tgz","fileCount":26,"integrity":"sha512-xn0T/Cj64e59rK/4RWj1nN1M6ofRJY2nxtSftiRL+jBfV3ZcyLaafyEiVJqfnyI6NwYpE2HEMNe4sE0eyZb5hg==","signatures":[{"sig":"MEQCIGFZizuEcoXiiBB+pitYPWrOza0arzmiF4jgSGyI5eH5AiBwusInQzerDswruakYtqPuEoe6HNz1xUUgj0VFyhst4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272437},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"624a37d51ea8bb2270292e97e025f58b542436f6","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.5.0_1781428030048_0.0633144486931918","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.6.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.6.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"b2249036ca913ac76c0ba1cdfab92be6b3de5a60","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.6.0.tgz","fileCount":27,"integrity":"sha512-2ST+I+jJhSK1VeXvtmIa4aCmde9UOTTTb+sIo8p4G9SeMlozecpC79kztgFmXZuwqeVJRBstbGRaXp9eHFQIVg==","signatures":[{"sig":"MEUCIBbV1Ie8KndChxzHB1ynV2Dawb7Ca4a6lNaYYrDaZuAfAiEArIcnzyfo3p0MjVaakoFzXd5wPKLFhO9z4RLuez19SNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285190},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"612afcfa93c0cac801e2f526ff3f80132889ca6f","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"11.12.1","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.6.0_1781443560811_0.36775517658823786","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.7.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.7.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"d7f2e2642d28f742b7dd30086d3e3ba1b8ecc4e1","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.7.0.tgz","fileCount":27,"integrity":"sha512-YNT907oGDw9swSrsAStyPNYUhOV13pSYhs03dNK47S22KZaJ9t1QTrvke7B+dfme/p9pyANFPpnb7pOxJYvPgA==","signatures":[{"sig":"MEUCIQCRtWJTY5MWP5cpBxPypvqeRhxDAvn2zinzxQN/VBOhUQIgSAyfCxHHQN1jeyb1epyV/SMwZsAYpeP9nmXokG3R2SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287053},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"657ae6eb659a396a8b32c1950bee19b0fdf6f283","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.7.0_1782157127640_0.9348538104579027","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.8.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.8.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"6312c9d0aad03f8cdc84513ea11d25cc3d1cffca","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.8.0.tgz","fileCount":27,"integrity":"sha512-kLmjhskm2Fq1jckD8c9zS2sI/qQxKNbs7CnMA8XlMvUZmVLkSYkE2mgQlGzWGR5sGSV6YXRcJ107lCoFl37fzw==","signatures":[{"sig":"MEUCIQDPpl0pYDG4Pe4K/K46/g42iztz+jhxZm/5zRxgMvGIeAIgOv1ald8QT2LXTPcbXDQwaphRZBNzQ9JGLCfMHxHq3AY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287720},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"31aed95583bd38159868385a503cd9870b5147a4","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.8.0_1782237215818_0.571588595269916","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.9.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.9.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"bc0cf9edfbf932ab80ba0e248feb15e1e7d745a0","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.9.0.tgz","fileCount":27,"integrity":"sha512-TPUahsGrMytXv0y8niuO257a3MfhQnQdqCep6hlucGWYACMP24PZqfpaXrwHi0y9iNqN9IK0GaeJfaOQARekIw==","signatures":[{"sig":"MEYCIQDFodeyT5lZzmf2HySenNeyQ2rcEiSckKcxAprCeWOvLwIhALt5oVI5ktSfekhDmKAIqTS4TcUSUyfUcUK3gLqJJxE0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288938},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e142a5397a7d6854bce13bf81e4cdaa936f24733","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.9.0_1782239262118_0.42448119604789114","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.10.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.10.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"e7b3bcb6f06d04b7ce2ed5454312f20e1eb1ebb3","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.10.0.tgz","fileCount":27,"integrity":"sha512-7p2KaLUPSZtPa6xw/vUIt6Fc2iUrZcFFmEGCnQRUvbjfZd84T20uvLOqUt6NIpu1aN6eNh5v3gBLmzYxPZbmjw==","signatures":[{"sig":"MEYCIQC6COS8JLMEhfM9IOL/xXheokBCOm3hazEc1wfPFqIlKwIhAP4cdq+N/HOF0VKi+CFufJ4GpxGyS36HojStmFh6neMA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291864},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"985fd965c975979fe6e279fefe11196bd42f2631","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.10.0_1782260090801_0.6516640347359519","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.11.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.11.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"5805b409c5f919a2b2965d632c22d3818980b5a8","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.11.0.tgz","fileCount":27,"integrity":"sha512-hIhCpcgQeHLST3tbhzK9qD54iPuEk7vfwlau6x7SYf+TOyd/5ci+kytt8mXzKxBblLV4AmVA8HkaZmJKMBxoSA==","signatures":[{"sig":"MEYCIQCXJ7kR/HwIO0M65wdqEL5ISkfm9HU4t2qdvrH4prbeiQIhAKXGBVtanYni94VGabjPwMFZ+xMobUwQ77eYHyHfJ75J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297654},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"1aeec42ab9b1f742555b510adaeaaa47497c878a","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.11.0_1782274419753_0.053722526672900006","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@ashley-shrok/viewmodel-shell","version":"1.12.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@1.12.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"aa5255e6be4cbb0a261cd80722b186b3b93bb750","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-1.12.0.tgz","fileCount":27,"integrity":"sha512-w/FHGtaCrPQJ3L1pa9WdKS0uS4imwAlmmzIuPWO/WEELrJWK9vtXzR8mpCybiYaCB+OwyFsTskayp+6Roji7Dw==","signatures":[{"sig":"MEUCIQCuni7/6OWPHG+a2YZjseqMg20hpl5TgziCJ1ebF3kMwwIgTEOUqNf9VWA2YSRd9Z14puEIdRkGIF0vCtG3R4Hy1Eg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321155},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"fcece971c3ff5056d01c4d0b4c0e6f755ef9b3f2","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_1.12.0_1782359579376_0.8123973441503758","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"2.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@2.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"d07b372f46c524f837b6dfd50787aae863d0b886","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-2.0.0.tgz","fileCount":27,"integrity":"sha512-6cmz8KEfK4mZ4dXiwgsP6o/ZRG0Zp1QbeZDdLYjeN2qiKzfh4C5TlSvPR/q3rnIEWkClvwSwiJAvSTXXxESl8A==","signatures":[{"sig":"MEUCIQCcxD25Eg/+CAjmSTIbAglwoUS8gz+pghBMdfGFJwgW3AIgTplCN5Vegqmd8ilR5NF9GJY/szAoxi98NV4OgwBu/ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316071},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"cc617252bbf3444d1de286639c2f61590d119f9c","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_2.0.0_1782393526977_0.17611894564646202","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"2.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@2.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"a3c27b8d39fc0617e714a7b9151c536bc514bc73","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-2.1.0.tgz","fileCount":27,"integrity":"sha512-cihcH5D/gyVykE3CwN6/6bTYxT5caWAbagU6xrBGnrRAGUH1xfsC+KFGzjujdkXDMoP/Rt6Rib6gOE88Njofqw==","signatures":[{"sig":"MEQCID5jJTbs8//ERL/BhMgSRPMgetfpV6L4YMQfhnSQZt4JAiByCCDvOh+dSG+Ah5oIa9rN8UZ0liY0Annw9y7yQ87cmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317121},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"c16c8e84cb4b0763f6437cecf40b909480b33902","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_2.1.0_1782398607825_0.07215778443777854","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"321c885ff24efe50dc382cd88325a7a04d39514f","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.0.0.tgz","fileCount":27,"integrity":"sha512-zXT0fBsBhLjmLM0JOzIIxTsFhZsahLmM6miPjYzUKZXPQ8xVNUoqPsYUFQIvaymdv1QYlzRXZkZ0BBrYHVhq+w==","signatures":[{"sig":"MEUCIEyi9HcCgRCcqndd6vZXpMNBi0iGwiJo1Rn2MmaNpG1IAiEAw4V9lhsdfMYAmrZFYVveuB9XJ9kaWJVnhQaXBiWDcTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323665},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"351102eb237df696fe949ff0bef912f83760fb6d","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.0.0_1782486464903_0.3107206818973547","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@ashley-shrok/viewmodel-shell","version":"3.0.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.0.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"474bd28e149212439f1af4eb87a966fa12f0bc41","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.0.1.tgz","fileCount":27,"integrity":"sha512-j+ZhJNxPebrKpVVmxvSf/hBjemlrs+9LkvLurrqbLwstz1SPlfnEQQtz/6SpS6DbevxcNS0I6QnkTx8Sc0QQgg==","signatures":[{"sig":"MEQCID2BkN9f3bOL+8zhFFQGXf+4NMZPfruPa70ShYwMzW2PAiBjZuTEoOKrk9H1GKoLbb3wAW737C/bUOoSsX1VBApYJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324067},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"f7d79f2b536a4f8861544ff693020e2232a18528","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.0.1_1782509492695_0.811168544189061","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@ashley-shrok/viewmodel-shell","version":"3.0.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.0.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"5edc71b959337d3b2fa534b4f8bc626d00414e8e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.0.2.tgz","fileCount":27,"integrity":"sha512-2L2a0Uulcs8E3kty4E9VJu/EFmztfKDtYEVZtXY3ikhfqiSL+2u58Ejtb2t7DFi1KdRML8LUY+H7dJIDkW3nrg==","signatures":[{"sig":"MEUCIHCsexfxqyVojP769CaofqZrQVU6ObRxagw8qCAkPteIAiEAtGlYLkSlXlWCzWNMab8R2UlckvZ0Ie21EgvK3XDlniY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325012},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"d4fa71902a112521953fbd36912b4cb31cb92ec4","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.0.2_1782511972610_0.4562726607319241","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"193833c4ba217af9492b3a47bc04d9b14805c3e0","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.1.0.tgz","fileCount":27,"integrity":"sha512-7+ERbW/BQSNVbC7WFW09yWV+0wbRrHIig4qPjOe+UDhmtdo6fH6ShehClzw5ci5WWDLln+eX/+2DmAo2kGpyGg==","signatures":[{"sig":"MEUCIFFBVcqRrpwxYNx/fEZ/zwPLjVrqipP58ZxWAz9yJaOTAiEAgp4hJdiICDhSvSUsNQQWvgPCw3Vf0IG1lahJZSLgco4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329528},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"82c48a842b118e5ab9773b5705ba4bb515676d76","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.1.0_1782513262702_0.8217353167395915","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"d56aa51131842ef49a5bd4993f30e8ebf7119641","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.2.0.tgz","fileCount":27,"integrity":"sha512-hgSzyRI6Z1/9IsfF48s63c0fuVPJ8UED2M9J0UeyT2HNSipR5pxcFvTbxfCjBL85sa5F3PkE3eJSrKr/eHgT0Q==","signatures":[{"sig":"MEUCIQCdHVeAX9Rp8uIvMv4P6E4aZ1XZ70I/IJGM3cpwaC6k6gIgXtWbOT5zl2lFj+5FkPoWZ6PVfX+dUdxx6Hd1E331yiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333099},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"263b6281e8e66bd5ed7dc11fe374cffeda59fddb","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.2.0_1782527028238_0.5147396233921289","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@ashley-shrok/viewmodel-shell","version":"3.2.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.2.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"24a0f7ada1f58a64baf6c3c4da3966ad522f46d6","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.2.1.tgz","fileCount":27,"integrity":"sha512-IT2apNeS/DkoO3yDqm3Onp4VxIqQkgTpwGGxOEU7CMsDhoO3Ul4GWNNC0uwTEfM9lrm7GV9j2BcBO60ijRuzoA==","signatures":[{"sig":"MEQCIApklwfT7/3P1CBjH1nyNZJyeN9zWnspIl5B3kxh3oy6AiAHDha1cZaBGjuAl1gMJm1+5DpfMy/bRd2AuuGcdxnqMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333648},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"1d06936638cca280081ed031bc75412948ba4921","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.2.1_1782537336523_0.09265582575647424","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.3.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.3.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"082861364a933a7e4f8002754cfad84898814a9d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.3.0.tgz","fileCount":27,"integrity":"sha512-dtA9lgdAQg4aOFkBV+wf2zibxNpzft13X/0tO1pMqoDGI9fcdy3+9VgSAt/r8+5Zdr+5ocmpNb9aqSlGbl5V2Q==","signatures":[{"sig":"MEQCICu1EL/FL3NtD5eZgFaPph1RHt2PEA5evlk37bkeI5kwAiB1spU7hc5WCNK72OgHT33P228fIv3BU03lmqCpldul0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338791},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"0d1158cc9b83a832ebfb94ed1aea1172a70ea1c1","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.3.0_1782544666786_0.3096190345137526","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.4.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.4.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"4ce613de4bd50ddfd1d0b9495df7bad5ec051742","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.4.0.tgz","fileCount":27,"integrity":"sha512-82aFP4sxAmfgsbIJBSeAhFWQUUWsa7xy4CQA/1/EpXhGJh5L45Zq4hfAh4Mhk5CtWpFCneQfKTai28FGvFOR/Q==","signatures":[{"sig":"MEYCIQDmKuVg30TnIX7/WFs2j7SBBA5dNG8KuetzVHMJvPSe6gIhALqwG8o/XT6DaZTKk5JhVKUBHHsHHJR3Ofzi2c8can9+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344867},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"b143d262e820b3752e9db58ad25bc51dacdd3561","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.4.0_1782581344129_0.6528773483358425","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.5.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.5.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"8bde8a53a92161855ec4f23dcb3dcbe22377e980","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.5.0.tgz","fileCount":27,"integrity":"sha512-7cDX4JOMeLYnuQJ3taow1ulnEv3PqYakvv20FAW/Yb9JYNL1sUqvO89QPRUGT80Mf0ZeNAraWwz0qLcWWnlGOw==","signatures":[{"sig":"MEUCIHS+FY8ZNCQqLNlz4xPMVHbN5z/541nW46vDicW0p26rAiEA9C9vUEFxQWSBEP7Xpok32n2L6dNPWEE1srrplezPRps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359791},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"784abeda9c4ffd6f593776a2a800282ad09bd49b","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.5.0_1782604447794_0.3561805953487567","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.6.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.6.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"c2ee83f8980882d05ac42e5b5a5f952da56fdc52","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.6.0.tgz","fileCount":27,"integrity":"sha512-PQ6LTt2yVBRoqtNOnpXhwjSHF6vN514Vc7Usj7HEvgaQft+0Y83PAHsjtE0fB+E5hNYFfFg2taEg3cUw+5QxOA==","signatures":[{"sig":"MEYCIQCRFyTkdONGWpnVOato45IL9XdLnvkD77Q0ivWIg01nZwIhAIJHX8jKIyHPJNq6bfys+AIAAe9zFpOfwzD8SASLXLPk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361741},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"6a1b05899dbda724c96a9b7358cfc717420d2eb5","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.6.0_1782691465324_0.2656070485327391","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"@ashley-shrok/viewmodel-shell","version":"3.6.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.6.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"0ea807e17ec4d70bdfa80fdf1e474e83653aa263","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.6.1.tgz","fileCount":27,"integrity":"sha512-zSUvekmCCZGEA25jAE9lwSkIpXwa6w851QitCfEAiXmpuQIJsNI2J8TR57BO1fsFi5KDlnie6rHbtV0l6T1ItQ==","signatures":[{"sig":"MEUCIQDqrmI9d1ssHJyBt44N/9MoFC7cCpyUoqXOROOVD4FslgIgJ6vQzoQTB4L8RVXz73LUQqC+5vpcqq4etXRM2stG/WA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362866},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"72b43e94257c03f43afce51cee7322261721b590","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.6.1_1782704173212_0.7822357798982482","host":"s3://npm-registry-packages-npm-production"}},"3.6.2":{"name":"@ashley-shrok/viewmodel-shell","version":"3.6.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.6.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"330fe542b35aa5049accc3925684183541689a71","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.6.2.tgz","fileCount":27,"integrity":"sha512-dJh4NyJ/KW4JmmYcvka031m6IX9p+xHm6I4c88eUNePro7p0bztT6idGrA6KIlgMh766VmpWWnLflTE6qUhrXw==","signatures":[{"sig":"MEQCIDO/K6yqZJx1RvF4mhbCOtVirDYru/G5hBv1Ct5bX2qmAiAlpGNVpYaIHQdWjmkcon3zdCVRwgAUi3P8fmkpPwPuKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":364158},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"313b967340011b433b976a8a76361af4e8e5362a","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.6.2_1782887546461_0.8194596168608561","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.7.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.7.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"11bcd3f83bc577540f4b4e182fcff9b6c6deb376","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.7.0.tgz","fileCount":27,"integrity":"sha512-iW5AuwI1BVtxb+x/sGDXAvAcnfmyF1ZM97bQORR6nK8d0OCU0vl5qbKWSDUudcT44XWQAnN+uBKWVuYSvX4p/w==","signatures":[{"sig":"MEQCIHLYB+9oCCVfmsYrSeKOA2yqJqZJILdaG2JIwO8W2FseAiBQNIDSfrTMMHKDyv4tciPucVt+BWOJMSyGzGK5qyEqZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368903},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"a49a78f849bf52277c853012f4296a42067157ca","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.7.0_1782888711360_0.7272083128034303","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.8.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.8.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"576c5e4093d67b5d75d46c3b891aae9fa33b0494","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.8.0.tgz","fileCount":27,"integrity":"sha512-SWhmRG65tb7Efx9Jsb529bCTZtFXQpGEARxFPpd4Q7px7Qkfxxkq1R1p9iBETlLitMeKVA5mwl6AGMrZdflFvw==","signatures":[{"sig":"MEUCIQD7/Af/DsHepCrJ05xb7p2AfpijpQuNvetI59uvvRyh3wIgX+wLb8kyq7mw1YtwNl4kfoPprgQ/P3biau3BlFHKmp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":382549},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e908735939d06de218cc5b3163759cc94db3f2e9","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.8.0_1782981994367_0.9563544497919039","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.9.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.9.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"39097dd996dc6b98db64a27cc03557b8e2b23ac1","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.9.0.tgz","fileCount":27,"integrity":"sha512-m8sI97qZLTmDCp8Z8lsCljEOTRMJ22/29UBhFIapd1v7Xa27cu5gjim5APNnP7iieVwO5M7lCUU1OBP9b8l17A==","signatures":[{"sig":"MEYCIQDIuTV4mXn3wrdZjPQXY1RIiqAE+EZoFl2Q5EqOHwr+fwIhAKh/VygnTBB528uRZGKvU1BB8zV1lgBuIraGN0ZjLEkW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386883},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"fe909c8da7a71fad640cc4c43dad09e822502780","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.9.0_1782983730903_0.4226346942530175","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@ashley-shrok/viewmodel-shell","version":"3.11.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@3.11.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"0c0065f28b0b307fa359fee9fa87943a6591742e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-3.11.0.tgz","fileCount":29,"integrity":"sha512-gLWOr+Kdm3kxNr0g62R8AiI/oiJpoYvkwLE3JM+JuKMHlOSBiHIkNDRvFlC5wYXgGdn4ZeF8ETXVsGtEK9w7AA==","signatures":[{"sig":"MEUCIGQIgi36eUN/WruXBhZJ4VShHUYpqmyblhhPLWcjOIENAiEA65+VgfqYph+pnpPshklWCh6vdbNpFaKkKAvPBTJFZrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":396631},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"a87eb9164e2e96f60b6af616e55d57291fe9d22f","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_3.11.0_1782991697177_0.9591513930794096","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"4.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@4.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"e1a7b6f1759174f698c4b1fa56ee84e9f5078800","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-4.0.0.tgz","fileCount":29,"integrity":"sha512-grEn/j9vFd+XDjGaF85n79HiovVSW6Lf4awTTmAFcp4AiRI0sv7ibQa/i/9IPtLN4IFoSbPAhVhl+nLg1WZjug==","signatures":[{"sig":"MEQCIBSK8FRnAKo7HlofmqBoq6V/OOmwGKYif9YJmC7tXodoAiA+AG2k7sBPyIqQ14ViVGiYxw0QgFsl/p6JqvaLXWPclA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400306},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"326240d6f685102bfb8ff49ecb24d62a8c963036","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_4.0.0_1783095475943_0.08603505373330345","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"4.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@4.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"00d223c8a629cbd6b6c711d3b44b4261cc476209","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-4.1.0.tgz","fileCount":29,"integrity":"sha512-SEADNH8OaEdQeGbywK3x+LQ8d2CzZFb9GrBne7OKtvJDBThpp1NOgXG07eQiVzH69GyREv5RoE05LlGCfZjX6w==","signatures":[{"sig":"MEUCIQDV78+UmpLbdkTLwMte/ph3pa08/P1378w4jAczAOwP5AIgZ45ErAVZM1GVF5LALCUOiFEU5PqE4RNTXXWo8gbuo9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434827},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"da098ef64547cf4b69fd6bdbabf4f2ead409dddf","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_4.1.0_1783536507808_0.20505582975556158","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"4.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@4.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"efe2d02f42172ba68520abc82645cbbcfaad9370","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-4.2.0.tgz","fileCount":29,"integrity":"sha512-FycPG3wrPug0fh8RABXKbYVMPSYaNrnMotWqbfUe2GPv23g3u+ODdObU224+yAKB3jwwpnncej8mFwlnypNa3Q==","signatures":[{"sig":"MEQCIFU8cFaQ5LdmONkB1+wOSf5PjHKLdIRrqmrKW1ZMuakwAiBtVefjRejA+sB1UxebxktSiZ90gaUo7SUhw3p56KG55w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434827},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"2918620b56d4dcddc377ad2ffdadbf2d53ee1b0e","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_4.2.0_1783536540477_0.08966273856270979","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"5.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@5.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"84b537ab51a0380ad39b5be5624fbc7c4e35829e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-5.0.0.tgz","fileCount":29,"integrity":"sha512-o1u97Q84yXOttXw8nfr3ig7IZOSzymZSeJCfLP0ZhHJxy/3qPU8tNVO9P7TTjXmKo1S2270SYXDc8ib7MSddMw==","signatures":[{"sig":"MEYCIQDHN+N43sIV9pVCqisgd2XdceXrkEnT0U+9bpijDlQhLAIhAKV6nVcezl8nvxgZT/xhZVAuYD2WYL/RQwwkRjEh1/1E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452006},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"b5d0a051b419d19bc2e1b3f0ec124d3a19490516","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_5.0.0_1783598322479_0.20991847345744907","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@ashley-shrok/viewmodel-shell","version":"5.0.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@5.0.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"45e9dc6b685c79758f361e2fabdf661f555c3dd7","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-5.0.1.tgz","fileCount":29,"integrity":"sha512-7JKALXwDePUQtCz3ajcG9/fHSbBHmGnhZwNBD9wEjp9PHR0y8TXGIl+IYsGptH8j7J499IUq7toKkJNUbZeL5w==","signatures":[{"sig":"MEUCIQCVunH5ceB8+Rr9PAgk3KYi3K6L98Xe2wiaD6G1BOiwQwIgCf4GOCE3YYJPcQqQs5QcZH5v2J0dYwC/94YmSnoIEcM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453681},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e488b225a0d921930e33f7e50442104469421a64","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_5.0.1_1783699679769_0.9067785817098246","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"5.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@5.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"5181636c5b88701e869b40b4a6b1e608a859b079","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-5.1.0.tgz","fileCount":29,"integrity":"sha512-VLbsYimFlLY4JyupOxlsLE0HJA8rK1R2sKc3f4VoL70aIsvkxjyZKVAKiFJlPGaxglAFQHA0LWznNaGOF26vkQ==","signatures":[{"sig":"MEUCIGkPCYn0SCzXMb0Dcrf7OS2Vsofh2hSmK7VqtRS2l4PvAiEAwj56SHPKgqQ6bhrMeIvwNJEZs9HtfP/ZXh8AYxN6GXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474017},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"3849618336bbd52a10bb45913b971d0b0801e89a","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_5.1.0_1783794745852_0.6636809213278101","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"@ashley-shrok/viewmodel-shell","version":"5.1.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@5.1.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"7c80596a22f24d77a27ae4fb5191e6edd3c556cd","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-5.1.1.tgz","fileCount":29,"integrity":"sha512-5i+RrwQrSd1/nZ5RwtVpdio4a/Lqg+2m7oiZ+E4vS8MqM8TuzCiuhirxX6a7yGAV2i3+JdibNUAaXG19scsrxw==","signatures":[{"sig":"MEYCIQC0cIKMWSsyV6UHTk3WhWE5fDe9OJpjgwrB8/aussyOKAIhALJDPzVsi4QHJRgLINV1Atszz4v7i2d0BOv8MYRPpAiB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474884},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"9db547e5d7f1608d9c50c2951a7f17ac8d97bf6d","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_5.1.1_1784124478943_0.932973228903919","host":"s3://npm-registry-packages-npm-production"}},"5.1.2":{"name":"@ashley-shrok/viewmodel-shell","version":"5.1.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@5.1.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"a78c41343a03ade0623265d7067ace68c53c8557","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-5.1.2.tgz","fileCount":29,"integrity":"sha512-2paou9JkBoLO95gJFHqAd1CeGzvSHLPc6TIhQPGPlVc7dyntQ1h66EaMc4wlSh3Xug731EcKuL4zNcEhtBGxEA==","signatures":[{"sig":"MEQCIGY5vDrYLtiPg2bEFO3IoTwoWi6oXLcQ4Qv5Pw7IYBwXAiBUx3uBK+e6osrPFRsFxMyF/ENiEUmtsfcnemafFG0y9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476087},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"ce69cb82c4d5184ebe08bf0554ed601a9b653554","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_5.1.2_1784223304119_0.16843639439766545","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"5.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@5.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"86faa02b49d2530d6eca614ae83603015f382285","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-5.2.0.tgz","fileCount":29,"integrity":"sha512-3XoBfW3KMJCUIdhpKNszgPBgXVewcT5CgtOkblvrX3RF2/71r6IYpLXPFfTKpMqa7eMrRH72OyBljDcd3kRb6A==","signatures":[{"sig":"MEYCIQCiWYb5S5G6JrhHLb57FiTDTzcdoU5+ph2md4iY03nLfgIhALyBaUg7gVtfELWC8RUBykX5BnI+S7SzVcxS+wrAy9V0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615987},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"00e83e934631cef661bbdfdeb6d0d169bfa69716","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_5.2.0_1784240034242_0.4061335524645149","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"623534f12d331d074d2a00070b21c127d727b332","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.0.0.tgz","fileCount":29,"integrity":"sha512-DB2uCydLy+l7KjFLuz3/mZ+9kqW77MqIOtaXyuhrrRWFgdl2SRN14sRRR8XhELYARzIBVKUNaHW5YDnjuVbCBA==","signatures":[{"sig":"MEUCIDJmShncKgQ4gIm26k+Ci46jevY2jMUkp2Wnx7kll6q4AiEAta72W64vlykskROVaN0tmH5gR+wzJ1xTn/KcofD0rxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625094},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"92371ae8ce85682e35ea9dd1ecbeab420f8005c8","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.0.0_1784304269341_0.6608750704955428","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"0d0cfc97bda010b8851ad7db9820cb3c620774dd","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.1.0.tgz","fileCount":29,"integrity":"sha512-07axzpl3ijjW2AocuT03oEy8hqHll2PA1i/GyBAx5Snnk9trYZ6wvPcogo9r7HHUY0nhLaRYqeax53+lysvicg==","signatures":[{"sig":"MEYCIQD7ikbinCLhDc3n07oTNyyuH0eoXEa5eXptx7ZpjZZccwIhAOSg7iUcb7ga8jN+8lsnRYp9lbwwSnvAqFw+AhdvQfAK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626410},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"eaa8cc87de11b6987aed375e1582e992cb522ce0","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.1.0_1784307592782_0.5857740121000168","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"5e43a814aef4c694c51003a5a0a7a81168a27cdf","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.2.0.tgz","fileCount":29,"integrity":"sha512-g9comdIhnA7wstO3yw5XVCVqDaMnG1WKdaOFfLYo4cexkhhO+W9uMfH9yQ31fxiTSpbvpzvNV85+BXLJ3szJBw==","signatures":[{"sig":"MEUCIGv8efK5jtntjdnReXI2JMIDpj9teQGSE/S6XwkVRa6JAiEA+v7pFXO4mUUcpe7Q4742LsOK9uv+0rNtJ0HCuiAovGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631696},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e22fe249b0d71747a421f6a8d63d710c1dfeadc0","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.2.0_1784316966606_0.7460135599833997","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"@ashley-shrok/viewmodel-shell","version":"6.2.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.2.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"43f5ef791019a2e8e2278fc3c5f76af0e9753d89","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.2.1.tgz","fileCount":29,"integrity":"sha512-KuzgnMtFT3CIFYdZ6HbW7Rle2RgZp1CkWjHir76FkeJLB0rQbXmUHw/o5Wzf41FrYmm6/YBGi1pknww27AEy4w==","signatures":[{"sig":"MEQCIHctwARUmYEbkMGvZ7XjOJ5qyezoM/JRZ7JkgaPRBcTuAiAXifdYzU6ZoL7qNk+7hHAuhuvUHeBPeLMsdxIAOt6h3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632283},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e22fe249b0d71747a421f6a8d63d710c1dfeadc0","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.2.1_1784394493123_0.9867171564191852","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.3.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.3.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"72a9486d5edb96d752ea164e332d11370da9311a","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.3.0.tgz","fileCount":29,"integrity":"sha512-yABDwKps4RKeBMoQLP+f1zw8epnpCh/aXSXpmJ23Z7uv7AonULj9roiDEqw1m5iaauqB/6eC0uzIiOFcI17rQA==","signatures":[{"sig":"MEUCIEBwrOojaR1jv/TWTYF65/pQi7yTx+8amW/EqlTWewxVAiEAizVYxGj73jJDX0v5DktKVjlUVSXvfI0IIuJ80cWArqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642182},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"447f21be593534d3fb496b4ee519b35a91662315","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.3.0_1784398501124_0.5746392570566394","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.4.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.4.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"d803e84d9efa150cd11284973431b3943f629c37","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.4.0.tgz","fileCount":29,"integrity":"sha512-98FZwi6qULBYJ1TwsWI/JuNITigylIqcnx6LzQ2rPf5xswE1+LbvKCbP4eIDO0bV2R7G1mFKymlnbNgS/MEHMA==","signatures":[{"sig":"MEYCIQCcoLTQoBbVhaTFDVKX8BukGdsxjKcix9mGLSbl5mOMIwIhAJ9YH5EaK5vIVYL8WaH1vSZ2oDcMDOYNztHWog4tmK32","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":648360},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"7b22cee63333f59ebd8a957850bac2fc2e56cc9e","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.4.0_1784433346533_0.2808631610528396","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.5.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.5.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"6f7a2d58027680ff17ebc20870b4d53eb5845e16","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.5.0.tgz","fileCount":29,"integrity":"sha512-kIvMDunjJjgeOYr6blpU1LA+e3rBzChuOYcbxIIAro6ZdCoEWa/6I00ir3lB6Ubzy2uBV4hyse+OH7rRlvEQLg==","signatures":[{"sig":"MEUCIQCvPXnZQKix4d6VLQlmSGhl5saKggldUmlxHcPGEedxXAIgCBn9USCuwKdjrEIbfR6JBQPF0hZ7JQV6hMms/AugH/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":662644},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"239ca627b13cde204ce19631a76bf23911cc94a5","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.5.0_1784516340544_0.15966880542203143","host":"s3://npm-registry-packages-npm-production"}},"6.8.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.8.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.8.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"c13dd51bb9ea611643f6e3ac5f3591413b328103","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.8.0.tgz","fileCount":29,"integrity":"sha512-ej/kBPjGWKGq/Iu1NVYo6majyXhrLqkedEU4SziW6O1OeWbovplRCpfTGmUfBUB1DrmAHllzVr9xyp1EMrUPQw==","signatures":[{"sig":"MEYCIQDpseEk7j+602Jly8Oc2B6SnWPaMjlfBSceCL1eqDRSwwIhAOLNrqFGOeWysjmDtOpukwEvrsoZosSJ7++TXFm12WLw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664323},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"78d0d2a77ebf1b48f39dd9ba4172b2ce2681e8f9","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.8.0_1784534348409_0.24922405797060643","host":"s3://npm-registry-packages-npm-production"}},"6.9.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.9.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.9.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"0377cc07efee763331677db9794f1de1c8e1ebfe","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.9.0.tgz","fileCount":29,"integrity":"sha512-ABaYlc4z4QjRr6cA7lwLTB5KfU1RKkoh+XRo1etAqTdqZ3wzA+tlwSyUVRdO78142JMgUYpBNruI4w+L7AhW7A==","signatures":[{"sig":"MEYCIQCXzWM95nTMlBUeM3PEmEPVNlk1MRrfBgdHZOIOTofUfAIhANr1KBy98FNc8td9jPjwB89cjrPl5t39LKjat5i/nZkp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681978},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"6689039ef7bd90a9e6712ace84f4b3443391c1ba","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.9.0_1784712440057_0.8897065504843176","host":"s3://npm-registry-packages-npm-production"}},"6.10.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.10.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.10.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"25f80d685c17921956041ac1c5b983b3785c8c90","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.10.0.tgz","fileCount":31,"integrity":"sha512-gFAoL9OK+nBY835FOebmwyemsuQDnvNpEcn6GgQwVaWrO6gBbeyzwwC9p55sEXAPUDzmy1cLguXjUO/FITzOjA==","signatures":[{"sig":"MEUCIQD5SrUgHMJYTmW7b5xEgJrWugsMGxu6CCo5JSo4noQSQgIgYIO6KpfkEpOp0zIMjWydQverRHRN+XAoxrABskOF0mc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714918},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"1394e347c2b97212667d51ce1b09bc97cc04222f","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.10.0_1784781119184_0.7446646109580983","host":"s3://npm-registry-packages-npm-production"}},"6.11.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.11.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.11.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"f9984d5f88b16d4b048b52c55c0fe1f9b01b176a","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.11.0.tgz","fileCount":31,"integrity":"sha512-tibvikYYsrgIPpyKorR9mysO96nQpkX6uy6OOTMOVsPltsgE9Glg7eXcSoXpddnAB4uj7hXs8l42fPIfbEclxA==","signatures":[{"sig":"MEYCIQDlDfrGJStW6YZdaaErsxim4OSPWv8/FH0/MIo5fUVqKgIhAITFxJjke7rKnXF83wBH1MwNDJtijhGKii5eQat0oCzn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":726922},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"f0a09f65b6d77b0803d2f2fd8c56fb2ecfaf54d5","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.11.0_1784796049497_0.36641159107281096","host":"s3://npm-registry-packages-npm-production"}},"6.12.0":{"name":"@ashley-shrok/viewmodel-shell","version":"6.12.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.12.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"d0255bcc30aaa31f43677c519343ab419f10395a","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.12.0.tgz","fileCount":31,"integrity":"sha512-IHrrlaGn3thQXe/22J/M0MoenNdMewlgXTYgcOsIWOIFJsgUMJ9mdxE7DNjmLPslASnOFD1MbvhRSmH1iM5Zuw==","signatures":[{"sig":"MEUCIQD9BhC2OI6s7g0IR8LK23o+hLowe+zeA+VLCZb4HWnpSgIgf0wtJ5aVT1i2gH9eLycg7nq+xUkDzkhACI5ss4wfmSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":736279},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"c9901f76d2c9c1248e557905cee97ed4031245ec","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.12.0_1784804607750_0.11960726461176652","host":"s3://npm-registry-packages-npm-production"}},"6.12.1":{"name":"@ashley-shrok/viewmodel-shell","version":"6.12.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@6.12.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"9b8526cf5e929565aafbf3e2d1df35e0fd63981c","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-6.12.1.tgz","fileCount":31,"integrity":"sha512-+Uhop1ym0V2eRypRwq6P/HaxZYnATVKsuf4oY/7r3DsbjBAlHoLvdCZfGcpVrSzve1m5B1TEXRe+ZjdKYJ7Z7g==","signatures":[{"sig":"MEUCIQDKrG8lnKoQusYmx7JtKpIZLnZ7Govvm3b+/9WOJbqBKAIgCe7qpwRhg19RrQzVwAw6PtSLChhzgBR7KXe+Zwf8Kg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":743593},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"7489577a385b14f8def262c0b335dc48528499db","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_6.12.1_1784805892160_0.9565243839636977","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"7.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@7.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"2914b918f85a966c2c8fcade803941e21d6b5035","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-7.0.0.tgz","fileCount":33,"integrity":"sha512-IcAb1sEXn02MFR91ooOVEXUDpb+4/DDGW5M+tPWoWlmkzt9KC3eXJsZtkX07ZKpnngpWklpC9ZGHm4V08G8Y3A==","signatures":[{"sig":"MEQCIEeMe/lHl5mlegZgmYsV8VgzdKmQoTLselkLwBLfos8mAiBEU+KkTmjqeU7fB43Sas6FMWWtL7ZGwMb17ZbgNPp+9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783479},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"7845cec4310999c245be20817e085072aacf6a04","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_7.0.0_1785156924105_0.23989047368504335","host":"s3://npm-registry-packages-npm-production"}},"7.0.1":{"name":"@ashley-shrok/viewmodel-shell","version":"7.0.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@7.0.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"99e69c6cbe9481bc9dcb4f1cdeacc0407ce136a3","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-7.0.1.tgz","fileCount":33,"integrity":"sha512-/s45tB68L8r4qIyxTn765M5r0Wk2TrVugXxNFdEoDg8WAIOjhDHp3ecjJ283FC0SarZQykH9xqp4FPhamSMlnw==","signatures":[{"sig":"MEUCIHh3evIim0RkIy8YG7naJuvBDqBFuYgIH1S03ncV2g72AiEAhCr2caAhm0mH7NXe/XLUFNCgUGNyo3rt+Y3lJfO1fys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783497},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"60937095f15cccb23d585c65363d33f42db05d76","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_7.0.1_1785327313334_0.9591169199021283","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"7.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@7.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"1c5db94af2a246b72c7559482c33cb59076b0486","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-7.1.0.tgz","fileCount":33,"integrity":"sha512-93NOJYBSIYDTM6Jo4RIsaANCzKrhl/uhlDaKBgYKx8FmvY9O8lcRG4IJ2A2jjUNcQDuuzK0gkO8zqeIY8nMfgQ==","signatures":[{"sig":"MEUCIEFooHsBXvQrCBDnw/3rXO2jCOLM8PAYqHCkBS3hhHy2AiEAmgWUlUNrmkSf6XJrxpsy/cM+wUQ0KPNvmK5OSJtciog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785518},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"e26e9b5ce8d292fa29275695932b73ea24d24a85","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_7.1.0_1785328072793_0.8287215745933707","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"8.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@8.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"f403851c8c70460b5a427e6360c1f5e54c8c3946","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-8.0.0.tgz","fileCount":33,"integrity":"sha512-VZRnycV66VpwWZVxgT0wZ5OOcICgGvV5+U6eZ8Nn/W516KO7kOM/da0ABDilvESEhtAJdiWfnc8YB/NurUBaOQ==","signatures":[{"sig":"MEYCIQC2oCEk8+FoTmydDrG7SXig0mBXtCnh6YIXk+4RA81KoAIhAJvodxe5M56x/abNI6x/bKVIf5uKHCcIAmHvwYT63HjX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":945782},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"2e31dca6faf875d451fc4447150b6046b590e521","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_8.0.0_1785426575041_0.9177516027225732","host":"s3://npm-registry-packages-npm-production"}},"8.0.1":{"name":"@ashley-shrok/viewmodel-shell","version":"8.0.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@8.0.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"82eec828d4df40def35a9bad5bd47097331e9097","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-8.0.1.tgz","fileCount":33,"integrity":"sha512-7oMJnAoUGUt78dJcJmz1bX0ZJ/twQD7lLyMfE/5LITc3cpDBFWD6BaSqAffrrHDBuklWT4Tx+RYi6jhY4ocpxA==","signatures":[{"sig":"MEUCIGuj3J+QAEOMs66/gqvfBpQzdkGleCYF2DjhMQPFe34mAiEA8BLuxYFSpA435ka4vi0yYY+EOE/J8tcDgGJEy213yWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":946986},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"6a8c2b899a886954f868362ca3d69ed0ec9f1bcb","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_8.0.1_1785436831099_0.9169882064145987","host":"s3://npm-registry-packages-npm-production"}},"8.0.2":{"name":"@ashley-shrok/viewmodel-shell","version":"8.0.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@8.0.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"52773935a22aabcbba03292508179bdbe33791bc","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-8.0.2.tgz","fileCount":33,"integrity":"sha512-jNYGhOPeijmqTgl1ipHC+3dYmtVI0pwKlCARI627MrCw+IaYs41Ji9cgudSOrx+saitCS1vuLxg9GPCZKzQTHg==","signatures":[{"sig":"MEYCIQDk66TzamJCi4sz8jLNmIBvNoG45PLKZD/xgzdZv0G3sgIhANVnvDKmkseS9gyW0FWG5W8d/Y4KEbpMI0SAkCd+sxGM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":948780},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"b2f819e8cf43db16bb6697ce8f3d48e1d1afa10c","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_8.0.2_1785440443296_0.7919721373027155","host":"s3://npm-registry-packages-npm-production"}},"8.0.3":{"name":"@ashley-shrok/viewmodel-shell","version":"8.0.3","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@8.0.3","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"1eaf340cc43173dabbfe67ca5fda80bb004da692","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-8.0.3.tgz","fileCount":33,"integrity":"sha512-BuQz+yh2x2j2oVBpU0Ec7fmUujEU/K5s4vUNeAM0HHXdrC+Q1r0/y0I64QpyB2JWTF77R6JjUHaZ30JcuI7IQA==","signatures":[{"sig":"MEQCIFWYE8mI+nFz6+/7YIWWmVwFmn3e7m+ifCsOYBqClZmFAiAaofN6I2qnYnCWR/OpeeEH3xeyEnzvMBKFBwEcu+EdQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":949889},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"a46bc51c587fae36bb7ead370df0e747d15eb663","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_8.0.3_1785448414949_0.6281073466701959","host":"s3://npm-registry-packages-npm-production"}},"8.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"8.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@8.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"c0631e57d858d1c3ebee1119db7baa1613dd63fa","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-8.1.0.tgz","fileCount":33,"integrity":"sha512-T0dn8E9m3YvKg2ti3wA7zGb/OeQOGzje83qoNugIGjbD67HWUIXrKS1G26yUXHiLCl/X9m6zmmQkatEEjxHS7g==","signatures":[{"sig":"MEUCIQC3Dk7nG0ZM+71sA4oHNpotet1ff+psWQLX49y552uTzAIgVO+f6IKFu6AaylHKEhOB4ZyBvUyIIvzIRo8WhYF/ooY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":961320},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"0b02d6a8517d06e7d8549ad9dcecdf74c091f5fd","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_8.1.0_1785465951416_0.4274076866448018","host":"s3://npm-registry-packages-npm-production"}},"8.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"8.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@8.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"a8f09d28158a0e7a91585f31085f8cec56847452","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-8.2.0.tgz","fileCount":33,"integrity":"sha512-7EW5d84Bj18KuByRSpgsG3451Pm2AAfkXtoc07LU2k3Rm9XH4YWllBGbie4CoWjBAwvAL+TK48gHeSHpTX61tA==","signatures":[{"sig":"MEUCICYtrNs4v1cS63oqbsTKI0VR5UCI9XZdQ2xb43Lk8K02AiEA3YsKVtV2uEcYSssCDD0aJhwj4RTvPCOvP5xkwClLz8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1010619},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"248147e361aff27d04eaff02c7378171127b1283","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_8.2.0_1785697530523_0.6398619132520857","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"9.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@9.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"7022e38cacf26134f4c59233e569b1eed604eba5","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-9.0.0.tgz","fileCount":33,"integrity":"sha512-eB9RnxxDDBI/Y63t3ENwTbOcPQXZFURQ5Gg5E1t2ssZrOLwmbWoJM1YhnBBEbevI0VXhEUmErsSxYnC8fz+kmA==","signatures":[{"sig":"MEUCIAQfS5pNUYQc5laBNGbtk7+KO2v35aPkEiKnp5hVL6HWAiEAuRAxqckMFHU+vwsKy4sE2f3uY44ggmfNWpPcNV/12VY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1030641},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8770e8d85d7e8ccbe974be4883b5ca182e96ce76","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_9.0.0_1785711140801_0.544816841260837","host":"s3://npm-registry-packages-npm-production"}},"9.1.0":{"name":"@ashley-shrok/viewmodel-shell","version":"9.1.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@9.1.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"73587ce7f839a143f4d56f099b47ac83664e88b1","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-9.1.0.tgz","fileCount":33,"integrity":"sha512-+vzBvIrmJB0OD9567T5Zo5+IhiZkqKiU1XWet3JpGpYJMmVd4hfsgjybilyEe8w9NRBNaFFSSpJFFlGiwFKzrg==","signatures":[{"sig":"MEUCIQCeumjen1F2P/stJsC2VRfHC0HR1Xm5y7GMk4CvfI9CMAIgBqkt3gPW0F3OdPTku0ZC7ObmdafMT2nwYt63gbkqI0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1099048},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"300f83eb3268814330280bbb4eb431e568a143e3","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_9.1.0_1785729302126_0.8936724888918637","host":"s3://npm-registry-packages-npm-production"}},"9.1.1":{"name":"@ashley-shrok/viewmodel-shell","version":"9.1.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@9.1.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"367f7f643c26d76dcc30614f3bdc364033eadbc1","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-9.1.1.tgz","fileCount":33,"integrity":"sha512-KIXRE5sTxjGSgizxmJuZMxu898meWdOS8VqYm5hA5WsrpnW+xwOztDVR+6qFoCfwd5v8+Q9RewOFbXb3R9qU4Q==","signatures":[{"sig":"MEYCIQDjWi4E6O41d3rGivorSrDugxlWF2cWfaaxnMFUUD3A6AIhAJKW5amwk92Sgw0nbBlbpAhPHjyQhNU9Wu1FEIWLbbcc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1099318},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"45d699009331333b497eb8047cbddc4ace376951","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_9.1.1_1785731860597_0.590173370723593","host":"s3://npm-registry-packages-npm-production"}},"9.2.0":{"name":"@ashley-shrok/viewmodel-shell","version":"9.2.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@9.2.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"c057b369f0539c7c4ad5a45628559effa25c9d0e","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-9.2.0.tgz","fileCount":33,"integrity":"sha512-+KWje3MYc7bswOOC3tQMRAsf3Jaq0yQHp0FaIW7/Wn6uvvsT4htx8YGBfTF6Kfj9JM3GDoi9hrV1CHC3bvp4aQ==","signatures":[{"sig":"MEUCIQDqJDcMp6m60lAwKpCQg/gXcMuMBKNcYx8Da69A0zSekAIgBD6trwLyB5znpkTJ9hOxsdHq41mkQSgtXoP2/BngESo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1102427},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"858fd2016dc1455c290123a7b9f0516d95e6e401","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_9.2.0_1785740770639_0.3212814879298562","host":"s3://npm-registry-packages-npm-production"}},"9.2.1":{"name":"@ashley-shrok/viewmodel-shell","version":"9.2.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@9.2.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"3bd4cf7ee99b9d28d72f5ec637feb2ecafc11e6d","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-9.2.1.tgz","fileCount":33,"integrity":"sha512-Grmql5S247LhqQBlo9+tOt9i24UmPGPHVFmEYUqbk4mluZvyhwGMQnWi8C4lilJCu4T/dSSU+qh4GyLWmgatuQ==","signatures":[{"sig":"MEQCIDHgssRxDahXiNpVNnyjNQRH9IA0c8MPqIrODCiJz6udAiAMuyI0ciFxipoDbIvKxh7lTfDoz2iKHgbSBtddHd0Q8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1103039},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"b84a58ecabd3e8bb916535948ab72aca28e72022","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_9.2.1_1786007812398_0.8682430426751044","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@ashley-shrok/viewmodel-shell","version":"10.0.0","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@10.0.0","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"aad0ac8af217ac600e301bc10fcb71393f1f11fe","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-10.0.0.tgz","fileCount":33,"integrity":"sha512-XBOsxfMqL/m7ePXrEet2GGOtkzDl/IZtp1OPFAhgE+OTGApVwlvBTazFHUWhSnZ/uBcOyLDeWEPrqewdqEkxhg==","signatures":[{"sig":"MEUCIF2iNKhK6FDaVkqavPMvHDwsI+RNTuXeWuZnSrrCpYLyAiEA3O4IX0GXGE0q+xPtfVsT/Y9eqBv6fry0Y3uMPqwV6vk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1160942},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_10.0.0_1787104728291_0.32541477085179316","host":"s3://npm-registry-packages-npm-production"}},"10.0.1":{"name":"@ashley-shrok/viewmodel-shell","version":"10.0.1","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@10.0.1","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"91e6d67ccffa491a94755628123e3328ad5e121c","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-10.0.1.tgz","fileCount":33,"integrity":"sha512-gZZgoNjYM724oUw634Uzc68twHCHqYmTTU2IqeqMX+7Dm9inQAZMBJbGCXqnDTHdVq2MXolAPKq4AH4nl+2qKw==","signatures":[{"sig":"MEUCIQC6896hBItvbHEAr44piyEUjQ662TfUxbLcFzk2m69pCQIgBDz90sH7DPIkPXwZM3B/dPJoKa4OpdUt2I4owJVScJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1163680},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"d50ead7beb1104927ccfa86e6a1446b8f513d77f","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_10.0.1_1787482574759_0.7156473533519321","host":"s3://npm-registry-packages-npm-production"}},"10.0.2":{"name":"@ashley-shrok/viewmodel-shell","version":"10.0.2","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@10.0.2","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"c15523b9541e7d363092b50abc80098083e35908","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-10.0.2.tgz","fileCount":33,"integrity":"sha512-ctlV+iBA+AgB4HNO8UTXQ3uONrfBCyQfXICkUX0HZnzq3NwMDl+9bP8idonpdw1yBWIVq0PON9EsQS3KDhd+IA==","signatures":[{"sig":"MEUCIBdtZ/OWxkWN6Enh90WSsXj1YNK/X4QTFpko8MNsizzXAiEAxZHU7B40ggQi/RCFO5mXkOj4HN9o+cUspQf7znIEcX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1164645},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8ec4121ecab4b75447527b30d049f34393a8cdbe","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_10.0.2_1787495053849_0.2612778124722035","host":"s3://npm-registry-packages-npm-production"}},"10.0.3":{"name":"@ashley-shrok/viewmodel-shell","version":"10.0.3","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"author":{"name":"ashley-shrok"},"license":"MIT","_id":"@ashley-shrok/viewmodel-shell@10.0.3","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"bin":{"vms-tui":"dist/tui-cli.js"},"dist":{"shasum":"ee0230f3addb46ded53b6e7965da3bf73d89892f","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-10.0.3.tgz","fileCount":33,"integrity":"sha512-c6BxCvIFUtDLi0PUl1P7k81ggVnuZDTyv1oCXK2W9uS8Ert1M3yCjRmMY6rz/3C7criTIa9sWqu+wWgZ5s5qMw==","signatures":[{"sig":"MEYCIQCdgCcFJkgprlE3kfRO/3V8y3KXdseo6Mo7URp88iY1iwIhAPu83VzNdSVbs3LBIQSyju3sRkcNSU2dKpBkQNoridZi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1165431},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-teal.css":"./styles/themes/light-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-purple.css":"./styles/themes/light-purple.css"},"gitHead":"8ed52d3630cc50157f953e09c71bd61ef29c9d06","scripts":{"test":"vitest run","build":"tsc -b tsconfig.tui.json","prepublishOnly":"npm run build","check:demo-types":"node scripts/check-demo-types.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-function":"node scripts/check-theme-function.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs"},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"repository":{"url":"git+https://github.com/ashley-shrok/ViewModelShell.git","type":"git"},"_npmVersion":"10.9.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","directories":{},"_nodeVersion":"22.22.1","dependencies":{"turndown":"^7.2.0","@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":">=5","jsdom":"^25.0.1","react":"^19.2.0","marked":"^17.0.0","vitest":"^2.1.4","chart.js":"^4","@types/bun":"^1.1.0","typescript":"^5.4.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@opentui/core":"^0.2.14","lucide-static":"^1.27.0","@opentui/react":"^0.2.14","@types/turndown":"^5.0.5"},"peerDependencies":{"vite":">=5","marked":"^17.0.0","chart.js":"^4"},"optionalDependencies":{"react":"^19.2.0","@opentui/core":"^0.2.14","@opentui/react":"^0.2.14"},"peerDependenciesMeta":{"vite":{"optional":true},"marked":{"optional":true},"chart.js":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/viewmodel-shell_10.0.3_1787496120899_0.5349448129731436","host":"s3://npm-registry-packages-npm-production"}},"10.0.4":{"name":"@ashley-shrok/viewmodel-shell","version":"10.0.4","description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","type":"module","license":"MIT","author":{"name":"ashley-shrok"},"repository":{"type":"git","url":"git+https://github.com/ashley-shrok/ViewModelShell.git"},"homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"bin":{"vms-tui":"dist/tui-cli.js"},"dependencies":{"@tiptap/core":"^2.11.0","@tiptap/starter-kit":"^2.11.0","turndown":"^7.2.0"},"scripts":{"build":"tsc -b tsconfig.tui.json","check:core-globals":"node scripts/check-core-platform-globals.mjs","check:test-types":"tsc -p tsconfig.test.json --noEmit","check:demo-types":"node scripts/check-demo-types.mjs","check:aa-contrast":"node scripts/check-aa-contrast.mjs","check:no-demo-style":"node scripts/check-no-demo-style.mjs","check:theme-byte-identity":"node scripts/check-theme-byte-identity.mjs","check:theme-function":"node scripts/check-theme-function.mjs","test":"vitest run","prepublishOnly":"npm run build"},"devDependencies":{"@opentui/core":"^0.2.14","@opentui/react":"^0.2.14","@types/bun":"^1.1.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/turndown":"^5.0.5","chart.js":"^4","jsdom":"^25.0.1","lucide-static":"^1.27.0","marked":"^17.0.0","react":"^19.2.0","typescript":"^5.4.0","vite":">=5","vitest":"^2.1.4"},"optionalDependencies":{"@opentui/core":"^0.2.14","@opentui/react":"^0.2.14","react":"^19.2.0"},"peerDependencies":{"chart.js":"^4","marked":"^17.0.0","vite":">=5"},"peerDependenciesMeta":{"chart.js":{"optional":true},"marked":{"optional":true},"vite":{"optional":true}},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./markdown":{"types":"./dist/markdown.d.ts","default":"./dist/markdown.js"},"./tui":{"types":"./dist/tui.d.ts","default":"./dist/tui.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./styles.css":"./styles/default.css","./themes/dark-blue.css":"./styles/themes/dark-blue.css","./themes/dark-green.css":"./styles/themes/dark-green.css","./themes/dark-rose.css":"./styles/themes/dark-rose.css","./themes/dark-amber.css":"./styles/themes/dark-amber.css","./themes/dark-teal.css":"./styles/themes/dark-teal.css","./themes/dark-purple.css":"./styles/themes/dark-purple.css","./themes/light-purple.css":"./styles/themes/light-purple.css","./themes/light-blue.css":"./styles/themes/light-blue.css","./themes/light-green.css":"./styles/themes/light-green.css","./themes/light-rose.css":"./styles/themes/light-rose.css","./themes/light-amber.css":"./styles/themes/light-amber.css","./themes/light-teal.css":"./styles/themes/light-teal.css"},"_id":"@ashley-shrok/viewmodel-shell@10.0.4","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-ktsXerLtaC37Cm3/BgVAxzdDHqY24PxYjqQuicQM2AL+hoTGM3+BNrjeSwcB0PhONwCp0tHvr5+y2nDYYNSRpQ==","shasum":"341c284cca916db5d7f1bbed3e6ced0ec4ec33b9","tarball":"https://registry.npmjs.org/@ashley-shrok/viewmodel-shell/-/viewmodel-shell-10.0.4.tgz","fileCount":33,"unpackedSize":1165839,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICsXN5276xoaufuL3QeUjwORVuJuwh1pTBKq+dy0P/H7AiAA3oqECd8X5UQfC/95s9JLUbFMREqt0d8bSxMqpj0M/w=="}]},"_npmUser":{"name":"ashley-shrok","email":"ashley@shrok.ai"},"directories":{},"maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/viewmodel-shell_10.0.4_1787510669944_0.33880351770957207"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T00:09:22.606Z","modified":"2026-08-23T18:44:30.389Z","0.2.0":"2026-05-01T00:09:22.902Z","0.3.0":"2026-05-01T01:09:26.727Z","0.3.1":"2026-05-01T01:34:08.449Z","0.3.2":"2026-05-03T15:19:07.721Z","0.3.3":"2026-05-04T01:30:24.125Z","0.3.4":"2026-05-12T02:48:25.161Z","0.3.5":"2026-05-12T04:11:32.777Z","0.3.6":"2026-05-12T08:56:08.728Z","0.3.7":"2026-05-12T15:09:45.327Z","0.3.8":"2026-05-12T15:51:48.946Z","0.3.10":"2026-05-15T06:48:52.105Z","0.3.11":"2026-05-15T08:24:05.408Z","0.3.12":"2026-05-15T10:33:36.977Z","0.3.13":"2026-05-15T14:24:54.629Z","0.3.14":"2026-05-15T16:19:36.909Z","0.4.0":"2026-05-18T09:17:37.336Z","0.4.1":"2026-05-18T10:09:22.146Z","0.4.2":"2026-05-19T02:59:01.205Z","0.4.3":"2026-05-19T12:32:47.814Z","0.4.4":"2026-05-19T12:57:13.629Z","0.4.5":"2026-05-19T13:42:33.728Z","0.4.6":"2026-05-19T14:24:19.331Z","0.4.7":"2026-05-19T15:34:51.200Z","0.4.8":"2026-05-19T16:11:40.393Z","0.4.9":"2026-05-19T16:23:51.637Z","0.5.0":"2026-05-20T04:58:12.420Z","0.6.0":"2026-05-20T12:10:16.414Z","0.7.0":"2026-05-20T14:22:06.099Z","0.7.1":"2026-05-20T14:41:34.509Z","0.8.0":"2026-05-20T15:13:56.336Z","0.9.0":"2026-05-21T12:03:31.382Z","0.10.0":"2026-05-23T19:10:42.803Z","0.11.0":"2026-05-24T11:06:31.618Z","0.12.0":"2026-05-28T11:29:55.682Z","0.13.0":"2026-06-01T12:44:38.216Z","0.14.0":"2026-06-01T13:01:01.036Z","0.15.0":"2026-06-01T17:26:59.760Z","0.16.0":"2026-06-02T16:26:31.776Z","1.0.1":"2026-06-08T02:00:56.901Z","1.1.0":"2026-06-14T01:54:09.476Z","1.2.0":"2026-06-14T01:54:26.134Z","1.3.0":"2026-06-14T01:54:31.024Z","1.4.0":"2026-06-14T07:27:28.337Z","1.5.0":"2026-06-14T09:07:10.166Z","1.6.0":"2026-06-14T13:26:00.990Z","1.7.0":"2026-06-22T19:38:47.763Z","1.8.0":"2026-06-23T17:53:35.989Z","1.9.0":"2026-06-23T18:27:42.283Z","1.10.0":"2026-06-24T00:14:50.965Z","1.11.0":"2026-06-24T04:13:39.923Z","1.12.0":"2026-06-25T03:52:59.521Z","2.0.0":"2026-06-25T13:18:47.141Z","2.1.0":"2026-06-25T14:43:27.984Z","3.0.0":"2026-06-26T15:07:45.060Z","3.0.1":"2026-06-26T21:31:32.880Z","3.0.2":"2026-06-26T22:12:52.754Z","3.1.0":"2026-06-26T22:34:22.861Z","3.2.0":"2026-06-27T02:23:48.400Z","3.2.1":"2026-06-27T05:15:36.668Z","3.3.0":"2026-06-27T07:17:46.927Z","3.4.0":"2026-06-27T17:29:04.267Z","3.5.0":"2026-06-27T23:54:07.957Z","3.6.0":"2026-06-29T00:04:25.460Z","3.6.1":"2026-06-29T03:36:13.345Z","3.6.2":"2026-07-01T06:32:26.625Z","3.7.0":"2026-07-01T06:51:51.533Z","3.8.0":"2026-07-02T08:46:34.509Z","3.9.0":"2026-07-02T09:15:31.043Z","3.11.0":"2026-07-02T11:28:17.342Z","4.0.0":"2026-07-03T16:17:56.086Z","4.1.0":"2026-07-08T18:48:27.956Z","4.2.0":"2026-07-08T18:49:00.735Z","5.0.0":"2026-07-09T11:58:42.666Z","5.0.1":"2026-07-10T16:07:59.935Z","5.1.0":"2026-07-11T18:32:26.032Z","5.1.1":"2026-07-15T14:07:59.155Z","5.1.2":"2026-07-16T17:35:04.322Z","5.2.0":"2026-07-16T22:13:54.475Z","6.0.0":"2026-07-17T16:04:29.572Z","6.1.0":"2026-07-17T16:59:52.952Z","6.2.0":"2026-07-17T19:36:06.763Z","6.2.1":"2026-07-18T17:08:13.271Z","6.3.0":"2026-07-18T18:15:01.280Z","6.4.0":"2026-07-19T03:55:46.698Z","6.5.0":"2026-07-20T02:59:00.763Z","6.8.0":"2026-07-20T07:59:08.582Z","6.9.0":"2026-07-22T09:27:20.240Z","6.10.0":"2026-07-23T04:31:59.358Z","6.11.0":"2026-07-23T08:40:49.660Z","6.12.0":"2026-07-23T11:03:27.927Z","6.12.1":"2026-07-23T11:24:52.337Z","7.0.0":"2026-07-27T12:55:24.259Z","7.0.1":"2026-07-29T12:15:13.519Z","7.1.0":"2026-07-29T12:27:52.998Z","8.0.0":"2026-07-30T15:49:35.199Z","8.0.1":"2026-07-30T18:40:31.294Z","8.0.2":"2026-07-30T19:40:43.475Z","8.0.3":"2026-07-30T21:53:35.107Z","8.1.0":"2026-07-31T02:45:51.563Z","8.2.0":"2026-08-02T19:05:30.684Z","9.0.0":"2026-08-02T22:52:20.951Z","9.1.0":"2026-08-03T03:55:02.276Z","9.1.1":"2026-08-03T04:37:40.785Z","9.2.0":"2026-08-03T07:06:10.796Z","9.2.1":"2026-08-06T09:16:52.589Z","10.0.0":"2026-08-19T01:58:48.424Z","10.0.1":"2026-08-23T10:56:14.911Z","10.0.2":"2026-08-23T14:24:14.093Z","10.0.3":"2026-08-23T14:42:01.046Z","10.0.4":"2026-08-23T18:44:30.094Z"},"bugs":{"url":"https://github.com/ashley-shrok/ViewModelShell/issues"},"author":{"name":"ashley-shrok"},"license":"MIT","homepage":"https://github.com/ashley-shrok/ViewModelShell#readme","keywords":["viewmodel","server-driven-ui","sdui","framework","typescript"],"repository":{"type":"git","url":"git+https://github.com/ashley-shrok/ViewModelShell.git"},"description":"A server-driven UI framework where the wire format is structured enough that agents can build full-stack apps without ever opening a browser and all UI tests are pure unit tests with no browser runtime. Server returns a JSON tree of typed nodes; a thin Ty","maintainers":[{"name":"ashley-shrok","email":"ashley@shrok.ai"}],"readme":"# @ashley-shrok/viewmodel-shell\n\nA server-driven UI framework built around one promise: **an agent can build, test, and operate a complete app end-to-end — with no human in the loop and no browser anywhere in sight.** That falls out of a single idea: the interface is structured data, not code.\n\nThe server is a pure transformer — current UI state + an action → next state + a fresh view tree (a JSON tree of typed nodes). A thin adapter renders it to the DOM (or, with the same wire, a terminal) with zero app-specific code; the browser never owns application state. Because the whole interface is data, three things come for free:\n\n- **Build it blind** — there's nothing to *look at* to get it right; the view description is the truth.\n- **Test it without a browser** — every interaction is a plain function from input → output, so the entire UI is exercised with ordinary in-process unit tests (no headless browser, no Playwright, no flake) on every CI run. The quiet giant: the full-coverage, test-everything-through-the-UI regime that's usually aspirational is the *default* here.\n- **Use it like an API** — a finished app is already a clean, self-describing wire protocol, so a *different* agent can drive it (read the screen → act → read the next) as if it were an API, because it is one.\n\nThe frontend is backend-agnostic: it speaks a small JSON contract over a single POST endpoint that takes `multipart/form-data` (with `_action` and `_state` fields). A .NET reference backend ships in the repo, but any language can produce the same contract.\n\n## Install\n\n```bash\nnpm install @ashley-shrok/viewmodel-shell\n```\n\n## Use\n\n```ts\nimport \"@ashley-shrok/viewmodel-shell/styles.css\";\nimport { ViewModelShell } from \"@ashley-shrok/viewmodel-shell\";\nimport { BrowserAdapter } from \"@ashley-shrok/viewmodel-shell/browser\";\n\nconst container = document.getElementById(\"app\")!;\nconst shell = new ViewModelShell({\n  endpoint:       \"/api/tasks\",\n  actionEndpoint: \"/api/tasks/action\",\n  adapter:        new BrowserAdapter(container),\n});\n\nshell.load();\n```\n\nIf your backend is .NET: install the [`AshleyShrok.ViewModelShell`](https://www.nuget.org/packages/AshleyShrok.ViewModelShell) NuGet package (`dotnet add package AshleyShrok.ViewModelShell`). It ships the full backend record set under the `ViewModelShell` namespace (`ViewNode`, `PageNode`, `FormNode`, `ShellResponse<TState>`, `ActionPayload<TState>`, etc.) — version-aligned with this npm package on major.minor.\n\nFor other backends, implement the same JSON shape: a `GET` returning `{ vm, state }`, and a `POST` that takes `multipart/form-data` with `_action` and `_state` form fields and returns the next `{ vm, state }`. See [AGENTS.md](https://github.com/ashley-shrok/ViewModelShell/blob/main/AGENTS.md) for the full wire format.\n\n## Authenticated downloads\n\nWhen a header-authenticated consumer (e.g. `Authorization: Bearer <jwt>` via `ShellOptions.getRequestHeaders()`) needs to offer a file download, return a `\"download\"` side-effect from your action handler — the shell fetches the URL with the same headers merged in, parses `Content-Disposition` + `Content-Type`, and triggers a browser \"Save As\":\n\n```csharp\nreturn new ShellResponse<MyState>(BuildVm(state), state)\n    .WithEffect(ShellSideEffect.Download(\"/api/invoices/42/pdf\", \"invoice-42.pdf\"));\n```\n\n```typescript\nreturn { vm: buildVm(state), state,\n  sideEffects: [shellSideEffect.download(\"/api/invoices/42/pdf\", \"invoice-42.pdf\")] };\n```\n\nThe download endpoint stays auth-gated and the server authorizes in the action handler — no signed-URL machinery. See [AGENTS.md](https://github.com/ashley-shrok/ViewModelShell/blob/main/AGENTS.md#client-side-effects) for the wire format and pattern.\n\n## Terminal (TUI)\n\n> ⚠️ **Experimental.** The terminal adapter (`@ashley-shrok/viewmodel-shell/tui` + `vms-tui`) is incomplete and under active design — scrolling, keyboard/focus ergonomics, and layout coverage all need more work. Its API and behavior may change or be removed **without a major-version bump**; don't build production workflows on it yet. The browser/server/core packages are stable and unaffected. Constructing a `TuiAdapter` prints a one-time notice — silence it with `VMS_TUI_SILENCE_EXPERIMENTAL=1`.\n\nThe same backend renders in a terminal — same wire, no backend change, with a real lazygit-style UX: mouse clicks, wheel scroll, per-pane focus cycle, and a context-aware status bar. Point the CLI at any ViewModel Shell endpoint:\n\n```bash\nbunx vms-tui https://your-app.example/api/tasks\n```\n\nThe action endpoint is derived by convention (`<endpoint>/action`). The TUI requires the [Bun](https://bun.sh) runtime — install once via `curl -fsSL https://bun.sh/install | bash` (or any installer on bun.sh). Browser and server consumers are unaffected; only `/tui` + `vms-tui` need Bun.\n\nWire it programmatically, exactly like `BrowserAdapter`:\n\n```ts\nimport { ViewModelShell } from \"@ashley-shrok/viewmodel-shell\";\nimport { TuiAdapter } from \"@ashley-shrok/viewmodel-shell/tui\";\n\nconst shell = new ViewModelShell({\n  endpoint:       \"/api/tasks\",\n  actionEndpoint: \"/api/tasks/action\",\n  adapter:        new TuiAdapter(),\n});\n\nshell.load();\n```\n\n**Interaction model.** Every `section`, top-level `list`, and top-level `table` is its own scrollable focus pane with a border. Tab/Shift-Tab cycles focus across panes; ↑↓ PgUp/PgDn scroll inside the focused pane; click any button, checkbox, link, copy-button, table header, or table row to act on it. Enter activates the focused pane's primary actionable (first button → dispatch, first link → navigate, first copy-button → OSC-52 copy). Space toggles the focused pane's first checkbox-with-action. When the pane has a text field, Enter submits the enclosing form (Field's `<input onSubmit>`) and Space is a normal character.\n\nOn an interactive terminal the app **fills the screen** via the alternate-screen buffer — a vim/htop-style takeover that re-flows on resize and restores your prior terminal verbatim on exit (every exit path: quit, Ctrl-C, SIGTERM, crash). Opt out with `new TuiAdapter({ viewport: \"content\" })` for intrinsic content size and no screen takeover. Non-interactive runs (pipe / CI / agent / `</dev/null`) are unaffected.\n\nThe TUI is built on [OpenTUI](https://github.com/anomalyco/opentui), declared as **optional** dependencies (`@opentui/core`, `@opentui/react`, `react@19`) so web and server consumers are unaffected — they are never imported by the browser, server, or core entrypoints. `bunx vms-tui` installs them automatically. **Project consumers using `TuiAdapter` programmatically must add all three explicitly** — optional dependencies are *not* pulled transitively:\n\n```bash\nbun add @ashley-shrok/viewmodel-shell @opentui/core @opentui/react react\n```\n\nSee [AGENTS.md](https://github.com/ashley-shrok/ViewModelShell/blob/main/AGENTS.md) for what the terminal renders.\n\n## Themes\n\nThe base stylesheet ships a **light** default (purple accent). To use a different look — including the prior dark-purple default — import a theme file on top:\n\n```ts\nimport \"@ashley-shrok/viewmodel-shell/styles.css\";\nimport \"@ashley-shrok/viewmodel-shell/themes/dark-blue.css\";\n```\n\nThe prior (pre-0.4.0) dark default is preserved byte-exact as `themes/dark-purple.css`. The current, authoritative theme set is the files under [`styles/themes/`](https://github.com/ashley-shrok/ViewModelShell/tree/main/viewmodel-shell/styles/themes) — not listed here, so this README can't go stale as themes are added or renamed.\n\n## Docs\n\nFull framework docs, architecture details, demo apps, and the C# backend pattern are in the [GitHub repository's AGENTS.md](https://github.com/ashley-shrok/ViewModelShell/blob/main/AGENTS.md).\n","readmeFilename":"README.md"}