{"_id":"annotated-feedback","_rev":"30-ce276b11104d2716d4ea39123a4b9bf2","name":"annotated-feedback","dist-tags":{"latest":"0.1.29"},"versions":{"0.1.0":{"name":"annotated-feedback","version":"0.1.0","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.0","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback-mcp":"mcp/dist/server.js"},"dist":{"shasum":"69b4ab10d9579942a1a34342f928faee5a17248f","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.0.tgz","fileCount":47,"integrity":"sha512-zv5mmUaCe0uMmB0joXyJzEAQoFmstmcKmlKp8TEMLDmWUhoaUQrHxhmp6RUSiDca9Pg7s/LvJeihmVtYktkQbw==","signatures":[{"sig":"MEUCIQCHNrHVdtT47g8Y/nEVKadQnwYZxOvbSdPogcQanN+k4wIgFg8fwdkiZgXIIMIbYZKt+ePcQk7gW6HMBMO/BccmhiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153874},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"convex":"^1.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.0_1760952635410_0.051489536261732693","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"annotated-feedback","version":"0.1.1","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.1","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"859d5fab5445da75a41357c5c76f099eca9ce1d3","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.1.tgz","fileCount":47,"integrity":"sha512-W5VHhfOLD7Z679QlWngDHtymF1ovf8aSdukiqmiLRsKU2hK2zqvpTJ4mHbTBScIbAaH1f/D+7e6doPnCy2SJvg==","signatures":[{"sig":"MEUCIQCPEfeWB9KB00JVou03Y8rrZ5z1AWTdpFOxFeaocNzUlQIgJ9NHOhmMQqeiDuVRqFMYX8aQQb703AyBwzINx+Kg7IQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153870},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"convex":"^1.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.1_1760952820957_0.8785066512205368","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"annotated-feedback","version":"0.1.2","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.2","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"04647fada28b1d3d2bbf20ec222a3808cbb06160","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.2.tgz","fileCount":47,"integrity":"sha512-mmIDNBaY9tD5bu2f3df9/P/crbQdPuj0VL9LM+QwSL+vyvUZJ/RxGDmzOS+Iqxv1QyuckecoSSbboJMLxksOyg==","signatures":[{"sig":"MEUCIDO1GW/wjzS1b2vQVAzX6t9CYgfL4/+kO7FdGy5DdgnXAiEAr548223JjJUBouBJDgdGYa2wDUu0XyOfqAkxSEoW6VA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153911},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"convex":"^1.25.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.2_1760954119535_0.17776152144703805","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"annotated-feedback","version":"0.1.3","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.3","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"2b023e25edab62ad8e8627e4c51b12cd3902cf58","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.3.tgz","fileCount":47,"integrity":"sha512-tquUUM6vCXEGvDZEmSrrwg3fFC4fKkz9Z37ZY+HVKlUFYrCBBvngUNOgbDDKPcasheiyZTcPECbiA8NLArwD+g==","signatures":[{"sig":"MEYCIQCxnNxxoC+Wa6UAd0sLIwjy3fworv7BMl782qeoX62V2QIhAPOmdNc/Ykd8qT6oCSXuglZlhE0l2kc2aWTkTBeFwJtx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153977},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.3_1760954509450_0.4204242682042021","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"annotated-feedback","version":"0.1.4","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.4","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"9df181bb0b89bdc14ea16efa62f30d14823d320f","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.4.tgz","fileCount":47,"integrity":"sha512-vjLJjqlJZVQM006vHXNnMloXNUCs2FKYIv0Rr6lmKvIH6uEDb7l4B7K7KiFTu8m+Y1M2y1GpWf2Me3ys/Gubuw==","signatures":[{"sig":"MEUCIQD7Iar8hkMgvMREQm7HrKi6ECFhvdPThHhDeYS8sQwiLgIgbpCToTiu2t0eNHCzyp7MCl+jZwb8dusEMarEjFaSFEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153936},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.4_1760954834653_0.17177915057538828","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"annotated-feedback","version":"0.1.5","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.5","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"bc47e23e80023c345a7ca584aa5ef8681616cc28","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.5.tgz","fileCount":47,"integrity":"sha512-LlGsJ04OxVBiGGANE1fjh1XDNBRUyZGo0syt+kQR6Kh/zjWIMXw36Zmsoe11wZ2jjDnz7HwE93zG6a8A9xsUlw==","signatures":[{"sig":"MEQCIBM3ZXj/+YM8vw6hwQ/2cIy50LpDpqu++FZNnLJTK4JAAiAHYlHwUplvBuz9S2T8E1kaRyM3vqBLSVKTYrECbJvBIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153614},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.5_1760955743999_0.1463482897060706","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"annotated-feedback","version":"0.1.6","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.6","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"c0077bc88caf8e83aec849ebd87333bc712485e0","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.6.tgz","fileCount":47,"integrity":"sha512-j4TVCJcELvoriPFK6mDTDEaQmH31dEPby9sM7XtLuS/IbxuKXGkUYgFOiwpxpYXCn5SUZ5LjgnqK0+pLEHmgfw==","signatures":[{"sig":"MEUCIQDsZKnSa3tFl7xRjtiqiXDyjzY9PGomz8kWQ0bgNra8YgIgLSaG/V4ltZ5XFmZcVTv7mDjmxbbCumazYNxR6yhNOQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148355},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"098e19698737ea23a85bdff0f74c033ddd7e1757","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.6_1761022682950_0.3886171166090584","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"annotated-feedback","version":"0.1.7","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.7","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"9fc8aaee24db63cdece4c9302ae2b2aac4aeb22b","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.7.tgz","fileCount":47,"integrity":"sha512-khEfXivH+JY1HVj2QvgvBxCWlv3I8RctApEnjIDQhwmmVxLg1huUnyJUFtufYwceilRfrOE2lJW6pgt+jDCT9g==","signatures":[{"sig":"MEYCIQDNsmySEBaCMMLhpzlxy6ZkI5JfbtUyUwmTwpbjV3trowIhAIuv9snOgM2Zcit3aX+hWxJnrE3EZQ+IAvUdzpeZhAfX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149306},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"1ea6f2c303d600e682053ad58a2b0c0c3274f5dc","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.7_1761035347679_0.5339309508718209","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"annotated-feedback","version":"0.1.8","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.8","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"c22c01884c118880500d23ba34a6dcbe9d687e76","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.8.tgz","fileCount":52,"integrity":"sha512-Ef9Yws8VRO0OQeMg7pQmS18TeoDVXg36lI2ZWIIfqE03vWDT86tZjyUp5oIo0+9sQT80hSAoC4B2hFj4ycN2Eg==","signatures":[{"sig":"MEUCIQDNGkrQPRF19N9iMZGS5oULKB9vL4xVaefmU4IuBxAMjwIgUW8m2TBwjjduH0rixFVYmGydRmzI+ieN3KALzHInZYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424581},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"508cc087097e280c99991d2b9a880920c8030309","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.8_1761040938122_0.09006820881093791","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"annotated-feedback","version":"0.1.9","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.9","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"ca5fc136b7134f48693ff0105e8eeb4a97452224","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.9.tgz","fileCount":47,"integrity":"sha512-pIBrHWiVCsk4cqvYaiFp72c01/ef5blRgtLM3SIDXmXhpSuu+l8xtiQni5m4KDpDl+hr7bkFW+34B1KT6BWVBQ==","signatures":[{"sig":"MEUCIGlhq8UQxoXda8Kn0ldezCXAtoRm3sBEKwgGiQLJDNRgAiEA3a9eAk3qNruWkDMF3C0wvEKZwPwvylm3wDSZR6t/d8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149347},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"508cc087097e280c99991d2b9a880920c8030309","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@excalidraw/excalidraw":"^0.18.0","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.9_1761042493473_0.011399959985576746","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"annotated-feedback","version":"0.1.10","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.10","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"0afb1ca64ffe1cdbf99731ec132eb2eb01edab54","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.10.tgz","fileCount":52,"integrity":"sha512-zfij3NvRM+QwO8wz+VKXCeBdIzxS+YychXznVn2FGtdJG6QYv6RjNjvDvkYmCmMYMnZWHfCphw3lO81TU6djNQ==","signatures":[{"sig":"MEYCIQCOYtLQGvxyLHHWDEdlDmnefJNEDf1GbRGunwsmlDPMLAIhAMF9ecD9aTByXfZ6KAG9cUXQgMAbxRvqw1zvKFNKbMy2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424623},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"508cc087097e280c99991d2b9a880920c8030309","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@excalidraw/excalidraw":"^0.18.0","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.10_1761042525368_0.1531132671898452","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"annotated-feedback","version":"0.1.11","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.11","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"82528f6b9eca199e45b941926c4661522e48c49c","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.11.tgz","fileCount":47,"integrity":"sha512-Ud/+x0rxMHGLqRPNAcfefFikHUruRLqyu9t9pFGCOxt1PX57pPaftvxVt5/+AsLdWUv3Wl98IWG+c8ComVxCBA==","signatures":[{"sig":"MEYCIQCwB1aqFWemih5+S1WHyRlWtzm+0QMk8kOCnTskl2RRpwIhAJdvuBfWkC6nIsXmy28XaoZ3nmfumODqnla2S8NYRZJ4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149307},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"508cc087097e280c99991d2b9a880920c8030309","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.11_1761043473778_0.2665521779353628","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"annotated-feedback","version":"0.1.12","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.12","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"f038a027fb3e18cd39c5a4586966dc68208c3f71","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.12.tgz","fileCount":52,"integrity":"sha512-VEDYJ0YSFo5FX7zQyy+6Z1XcMaQ6zEoJMse42CjFwcavbfBmE0p5w+fvMcR+WxdJ0Ck6T1jUgOlYP39ZgmpqBQ==","signatures":[{"sig":"MEUCID3bjfWXusR2MAnL/gqwLYGbDW7cSstwXrPYGv8qXKnbAiEAtftU8FYMhcaepsPmjYkd8EGoSAGlGLAIURNh6w3mqp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424198},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"508cc087097e280c99991d2b9a880920c8030309","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.12_1761043503952_0.8468786221272047","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"annotated-feedback","version":"0.1.13","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.13","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"465cc2e1c603eec90ff0c11bea508fcc929ff069","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.13.tgz","fileCount":52,"integrity":"sha512-4snMjqEmjt2C/SXit/Mc+L362VGwD1X2w3kuZnyBtiPPYV8qLsQIv+LwHHpMVYgK91Dt7Q9wjD9hWtAPesnuEQ==","signatures":[{"sig":"MEYCIQDYytiNawdE5SoOZJ5oU06Wcue0jR4HJoV5jHDj/LZnHgIhAOJzT5OZ1Z0PNnsyI1BUE92UpUf1c5/sVKyagcpo9wev","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":423872},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"1f02e6300e5ce23457e390ffb967d7138e87536c","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.13_1761048261662_0.25950172741454036","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"annotated-feedback","version":"0.1.14","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.14","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"d0609b6369799b04d1212d5c9f144fd80880e2a5","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.14.tgz","fileCount":47,"integrity":"sha512-d/sErdXY6Bv+8nhL6C0+0xD3AeIfWm4FYJwWCQg4RxbQbBAtlDmeFuJvhrN4O2FrOGgrXDXGE1/UZc6gnTQLHA==","signatures":[{"sig":"MEQCICvJ3Bth/UOwlTkYrhLDdvMXCBz7yTcsifqVcZpq0MQFAiBDNhPaaK1r/AjG8zvvx4Nc2SSpBiOOg7vIHJKHP2a9Fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402220},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"f1a24d1fae62ef607c73f72b0468519e911d911c","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.14_1761104810955_0.21806917800291403","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"annotated-feedback","version":"0.1.15","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"WebTrack Team"},"license":"MIT","_id":"annotated-feedback@0.1.15","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/webtrack/annotated-feedback#readme","bugs":{"url":"https://github.com/webtrack/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"80ae0392cf2b69ff965da054f109ba84cc99e364","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.15.tgz","fileCount":47,"integrity":"sha512-prv3tyk4wdhnCd8P5FQU2FwZUwH3L8fmF5xfHQS5elKwqNvKE1KOSSSFVANvWpS+I1oaiZLtIDBTcz6u6KNACA==","signatures":[{"sig":"MEUCIQDjYoI5UlcbAF6F0V561QysusuhRMgiIBAU7vFBnhMd7gIgWeuNNTutsUWAlWY7aZaK/Tp0bRmBx8x1YjK0Oq1JWJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402253},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"718b14531e163cb3c3c7e5e9247cade28845259e","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/webtrack/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.15_1761105965911_0.7773514020413324","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"annotated-feedback","version":"0.1.16","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.16","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"c2eac67f442679163e70531709f02f3a94e2077c","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.16.tgz","fileCount":48,"integrity":"sha512-hPKqyrpYd/iDXcGsrZY2JG/RoRyk5YEgEg20wC/6AsInuiaJGTzMPG7lC4Ym8tNKmr3cZQmcCTgHWlW7258y8Q==","signatures":[{"sig":"MEUCIQD1rX7CYi+QWBlFwiFsLgQ34eRkxeEYO1+GLFHXnTaipAIgeYw1miwRNo9CXj53fXHtW6ARi0kpwAXyDvQ/lmF/QaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":546012},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"d423178ac3bdeef87fd59f1b997db7b094b3d0c6","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.16_1762741667291_0.2540220185379398","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"annotated-feedback","version":"0.1.17","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.17","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"87dd7e30af2b189e612077f66c4e0bb424a59dd0","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.17.tgz","fileCount":282,"integrity":"sha512-RDEH2PFONolNNvTaWGk9XI9Er7fRGuwYPwHDEcfUqxS/7NC6AfBjlnurrYSX+KYidhbSaRhHSW957ksM4UshOw==","signatures":[{"sig":"MEYCIQCya5wqAi3xgxUSYAs01o5VU1zHsY6PgKj2jEYkUNqT1gIhAOQkAZEBjZ2ychDgnf9sne0/+O1AU4xvaiKZiqlDy3EM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13653080},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"d423178ac3bdeef87fd59f1b997db7b094b3d0c6","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.19.5","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.17_1762825449624_0.5474163310874227","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"annotated-feedback","version":"0.1.18","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.18","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"f3c5c04e3378dfadbe7ca05b2121ea2c8a2f7381","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.18.tgz","fileCount":48,"integrity":"sha512-ysoLEQ7opr2eiyqIcvBJopi1NdFWrHILRVIC54/05p7uyiszP47q6WZAtgBl/1dt6HnlPMmifQTbfc/kPvY8wA==","signatures":[{"sig":"MEUCIE+yc/Ru74YV9ARFZN2ohe0SxlxzEHLkQZqZT0vlQheQAiEApx1RoLJikCxkzf1cUq5Of/6SSjb2BwQA+6BwDBCMNlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372665},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"00eff865336008b01c941f427e703eb0456b9637","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@excalidraw/excalidraw":"^0.18.0","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.18_1763444944657_0.5465796794220981","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"annotated-feedback","version":"0.1.19","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.19","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"7da2b91c9ad32a48eb3e02c1880974e180746dfa","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.19.tgz","fileCount":48,"integrity":"sha512-9ceaAcIYoMCOkmapMGHmp3a1It6OenC9BoejyGWlocm0OMd+aSunwgQLqZDC+SxrSauA/Cq0MRm9Ezqa5QWIYg==","signatures":[{"sig":"MEQCIH24ccBoGEor+aLDK62fjzk8nTpZSm+kE4BhK7xFHkaIAiBlb9twgq60qKSxnFZNUPUdwZx+pVfx1A1umZH6llVsCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372665},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"6804b17dc3db00aef3b75a1ec589d8058beec769","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@excalidraw/excalidraw":"^0.18.0","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.19_1763522256640_0.7190237754621895","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"annotated-feedback","version":"0.1.20","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.20","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"12cc786a3d2ddd40754566fb22077aa9c5eee651","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.20.tgz","fileCount":48,"integrity":"sha512-tAdg8mgkwn53fwoVUHPYDtM+GycKdEW4ZgLwwKho0CxN6OOjU9KqzwGpvEh0BM6x6j05MDYKlbk4sEPi4W4GpA==","signatures":[{"sig":"MEYCIQDPdqDyByjZO0U7cLIWATw99JKyJeRhVegFjeR6SebGtQIhAKlvO3UwG34rD4KIO5tq4l7qV1xjpXT10jBaumWHh6gt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372624},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"d4f7f004b2e96f392b1e4712b536166b9110427a","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.20_1763524441913_0.4225118763473248","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"annotated-feedback","version":"0.1.21","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.21","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"be34151147ba5dae16b082817501cda469d5565a","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.21.tgz","fileCount":158,"integrity":"sha512-rtguM/TFpsV5YTzrIpzconYC2llC3DQzi5GTZ4NPw0afUVNZoYdAMGhNZ/L155yQKOsP/Byf41GThhwN+YLvyg==","signatures":[{"sig":"MEUCIA5frLtywOtND7ya3yhaMle7Nlz7uLq5+uXJYyhAB1MRAiEAsY+u/fiVeLVE9YZxePLtBpajOTmtJlWx76zfhQQZ6nA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12185472},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"bbe0d60e8622eadc523f1145d2adf8e792828529","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.21_1763524869036_0.8441880830859703","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"annotated-feedback","version":"0.1.22","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.22","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"8443b5d0d180dfe0a9ca9bd965652778217372db","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.22.tgz","fileCount":48,"integrity":"sha512-eTUO6ddkFUREwzFThqTm7nF1sck8XGIUd9doyQoHZDGpWgi2/ivHnyM1V7RTijwG5H3VmUrNU8+Fib6GLvpCOQ==","signatures":[{"sig":"MEUCIQCr3Ffp3NO8TXep0hSrxKCN0HwOFLPUnyKjXMeehwrp5wIgVlZMNAu4USGTJGXVFC+dP8qKnEQZwXYva6kBBzE0v6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571779},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"857f94116301676c3f7c80293c3e830d2983b840","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.22_1763945711306_0.39028837824172835","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"annotated-feedback","version":"0.1.23","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.23","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"51be2617afef20b7d0faece9f8d586fb83e8f1f1","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.23.tgz","fileCount":48,"integrity":"sha512-h/I2HbX59XHk0ssVtCPHf8xr0VGSg9CyVDI/bz0eEZYHN0m08MvvKcdf2q6VqIAHBbnJvotyBCVUk8IPcfJfVA==","signatures":[{"sig":"MEUCIQDLs0XpUyWhGong1bdo10MVglkI505HST0KNuZR7ciKfAIgTn9OZZw9REhZzziGkOdxwQQrryH47kRFajqoQHlCwxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573839},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"d1b537a433897ae60e09f6df5eee4a0dc17a6dee","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.23_1763946651224_0.17829962986091807","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"annotated-feedback","version":"0.1.24","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.24","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"bb79fedb9411cab3f5f2acc90ceb3577865747f3","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.24.tgz","fileCount":48,"integrity":"sha512-fu9CqStpN/0B85STqdfwPNgk5kLzqCw+KvjTlqWUeJKOoUK48/Z4HSl2T4e16jsQ4ZyG75oXR6fFxkJDB5iJxQ==","signatures":[{"sig":"MEYCIQCAMfLos2rE5mYuQEzp4d8E+ybth/t3ld4Ne3FDBUgj3AIhAIMx7LU/x7IRBgaRiPrQFQc6VUwrqdw4piXdP5Lh+13V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573976},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"40cb04b5780687012b39bde6fd3f663e9ab3fdb9","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.24_1763947123777_0.8740766474515962","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"annotated-feedback","version":"0.1.25","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.25","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"9d757ec849fc9c5f5e11c609fa178e9da8678b7e","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.25.tgz","fileCount":48,"integrity":"sha512-m438M5dG2kG+/VatbRs8Qo/M8mqkmieYiiC5yjvncZhmB62CHehVtxiK2Ei2tnhHferd0zKGMXuwnnE4h108Mg==","signatures":[{"sig":"MEUCIQC/tW5SV8Z1glYtZ9m9MYh1+0/o5UjdIknVZ2o4AixmXQIgZvRrkAH3jbqVGmU9Rs2ry8idSjux0J1hws/hlX+kUJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":574044},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"266372209c3be21c7aa85e85f6fced658931af75","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.25_1763948703879_0.3295260475430053","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"annotated-feedback","version":"0.1.26","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.26","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"89febda2e9f64f25091bd27d0f9f5db83beeab92","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.26.tgz","fileCount":48,"integrity":"sha512-bMMyn5DY0wuFPP1RB3Y/m91xZFz0ieE6CrFzEduUfOekzSGq3VmTodq8kHVEDjesm+FCbpTsiknO4l+f8GEUdw==","signatures":[{"sig":"MEUCIQDEESl4osawETtNnsbCHP4SnGd33+bPesQvx1xPVFqAhAIgIgfFqXPzOTaQoGALm6PJ0s2e1sMc/aj+5/jnDU/iqzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375222},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"f89cc3a1dbb2b810d7dac8f54814a89c3add4d99","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.26_1764900854342_0.8673337321713774","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"annotated-feedback","version":"0.1.27","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.27","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"3d36d58f1fec3da5b911f66e22035da2a38acf31","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.27.tgz","fileCount":48,"integrity":"sha512-fjl1EynWheiNuKcKi4Mo4QfuEkTlE9LcDX6g0GJBadNc6+/qHUyEMPBf6jYe5WzGfCDfIovQiTYTup/eB5DUvA==","signatures":[{"sig":"MEUCIBvcgz+EOCdjHxDJOFCaSs07HPRICCxYncaO3M+2gtjaAiEAgHYWbZEHrGsmWXEYephW5Ao2oLuqvva6zucmp/u5PLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375572},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"7cee67e021b5f63fb19eb40c785234ade78124f6","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"11.3.0","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.27_1764901339252_0.6918058239308864","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"annotated-feedback","version":"0.1.28","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","_id":"annotated-feedback@0.1.28","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"dist":{"shasum":"2f5a370ff3880496412fa5a2d81b7f667ea57d68","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.28.tgz","fileCount":48,"integrity":"sha512-74mdVTuq3ULzeQdw9Stlb4YJ6rJMOZO+jFhpLLQGBPBqMRPCmW1gSgSxy/9Rv8whgWmJrElOsOI9B7q2g/5SPA==","signatures":[{"sig":"MEUCIQCD044tfifi3GDOAA8abFEO4L09bujBhIrvXu4nc/lFiQIgO+1zmZgnG/1nC8Xybka2L9H5gvhYvx6eLmChLVktU7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375918},"type":"module","exports":{"./mcp":"./mcp/dist/server.js","./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css"},"gitHead":"205166a536d9e150548a829c1e40c3bcec6bec05","private":false,"scripts":{"test":"echo 'Tests moved to workspace root'","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","mcp:build":"cd mcp && pnpm build","convex:dev":"convex dev","widget:build":"cd widget && pnpm build","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen"},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"repository":{"url":"git+https://github.com/screwyforcepush/annotated-feedback.git","type":"git"},"_npmVersion":"10.8.2","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"3.25.76","convex":"^1.25.4","html-to-image":"^1.11.11","@modelcontextprotocol/sdk":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5","@types/node":"^20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/annotated-feedback_0.1.28_1785121679474_0.8854447356796549","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"annotated-feedback","version":"0.1.29","description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","private":false,"type":"module","exports":{"./widget":{"types":"./widget/dist/index.d.ts","import":"./widget/dist/index.mjs","require":"./widget/dist/index.js"},"./widget/styles":"./widget/dist/styles.css","./mcp":"./mcp/dist/server.js"},"bin":{"annotated-feedback":"mcp/dist/server.js"},"scripts":{"convex:dev":"convex dev","convex:deploy":"convex deploy --prod","convex:codegen":"convex codegen","widget:build":"cd widget && pnpm build","mcp:build":"cd mcp && pnpm build","build":"pnpm convex:codegen && pnpm widget:build && pnpm mcp:build","test":"echo 'Tests moved to workspace root'"},"keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.20.1","convex":"^1.25.4","html-to-image":"^1.11.11","zod":"3.25.76"},"optionalDependencies":{"@excalidraw/excalidraw":"^0.18.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"devDependencies":{"@types/node":"^20","typescript":"^5"},"repository":{"type":"git","url":"git+https://github.com/screwyforcepush/annotated-feedback.git"},"homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"publishConfig":{"access":"public"},"_id":"annotated-feedback@0.1.29","gitHead":"effde289c64861ddf61c49b9e6cd87d57f3cdf6a","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-fd36jDrHB2oGcg0VyAYRV8h1z6gfxYYAKwvE/i3CrXUaZnae0Y2bH7cSFF4Q0eIHZIQDlXURpDR940DHi6bm4A==","shasum":"ac7f169ef5ed310c7791d7cc67ba2d7770e0ac4a","tarball":"https://registry.npmjs.org/annotated-feedback/-/annotated-feedback-0.1.29.tgz","fileCount":48,"unpackedSize":376038,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFYMWDJCMD1fM8ZKMRTHcLnna0N587dgYaYhz73fxjHbAiEAh/Yuv8KluMTtDCCBohLVvGroAn0vfkEsRcDEks+zjHs="}]},"_npmUser":{"name":"savagenpm","email":"npm@savage.email"},"directories":{},"maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/annotated-feedback_0.1.29_1785122522372_0.5944997342482139"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-20T09:30:34.636Z","modified":"2026-07-27T03:22:02.650Z","0.1.0":"2025-10-20T09:30:35.582Z","0.1.1":"2025-10-20T09:33:41.132Z","0.1.2":"2025-10-20T09:55:19.716Z","0.1.3":"2025-10-20T10:01:49.647Z","0.1.4":"2025-10-20T10:07:14.862Z","0.1.5":"2025-10-20T10:22:24.186Z","0.1.6":"2025-10-21T04:58:03.136Z","0.1.7":"2025-10-21T08:29:07.868Z","0.1.8":"2025-10-21T10:02:18.312Z","0.1.9":"2025-10-21T10:28:13.667Z","0.1.10":"2025-10-21T10:28:45.583Z","0.1.11":"2025-10-21T10:44:34.008Z","0.1.12":"2025-10-21T10:45:04.145Z","0.1.13":"2025-10-21T12:04:21.878Z","0.1.14":"2025-10-22T03:46:51.129Z","0.1.15":"2025-10-22T04:06:06.210Z","0.1.16":"2025-11-10T02:27:47.643Z","0.1.17":"2025-11-11T01:44:09.981Z","0.1.18":"2025-11-18T05:49:04.858Z","0.1.19":"2025-11-19T03:17:36.873Z","0.1.20":"2025-11-19T03:54:02.107Z","0.1.21":"2025-11-19T04:01:09.337Z","0.1.22":"2025-11-24T00:55:11.504Z","0.1.23":"2025-11-24T01:10:51.414Z","0.1.24":"2025-11-24T01:18:44.002Z","0.1.25":"2025-11-24T01:45:04.071Z","0.1.26":"2025-12-05T02:14:14.514Z","0.1.27":"2025-12-05T02:22:19.449Z","0.1.28":"2026-07-27T03:07:59.625Z","0.1.29":"2026-07-27T03:22:02.499Z"},"bugs":{"url":"https://github.com/screwyforcepush/annotated-feedback/issues"},"author":{"name":"Annotated Feedback Maintainers"},"license":"MIT","homepage":"https://github.com/screwyforcepush/annotated-feedback#readme","keywords":["feedback","widget","annotation","convex","mcp","visual-feedback"],"repository":{"type":"git","url":"git+https://github.com/screwyforcepush/annotated-feedback.git"},"description":"Universal feedback widget with visual annotations - standalone Convex backend + widget + MCP","maintainers":[{"name":"savagenpm","email":"npm@savage.email"}],"readme":"# Annotated Feedback\n\nUniversal feedback widget with visual annotations, powered by Convex.\n\n## Components\n\nThis package provides three integrated components:\n\n1. **Convex Backend** (`convex/`) - Database and API for feedback collection\n2. **React Widget** (`widget/`) - Frontend component for capturing feedback\n3. **MCP Server** (`mcp/`) - Model Context Protocol server for AI agents\n\n## Setup\n\n### Prerequisites\n\n- Convex account (sign up at https://convex.dev)\n- Node.js 20+\n- pnpm (or npm/yarn)\n\n### Creating a New Convex Project\n\n**IMPORTANT:** This package requires its own isolated Convex project.\n\n#### Option 1: Manual Setup (Recommended for first-time setup)\n\n1. Go to https://dashboard.convex.dev\n2. Create a new project: \"annotated-feedback\"\n3. Get your deployment URL (e.g., `https://your-deployment.convex.cloud`)\n4. Create a `.env.local` file in this directory:\n   ```bash\n   CONVEX_DEPLOYMENT=prod:your-deployment-name\n   CONVEX_URL=https://your-deployment.convex.cloud\n   ```\n\n#### Option 2: CLI Setup (Interactive)\n\n```bash\nnpx convex init\n# Choose \"Create new project\"\n# Name it \"annotated-feedback\"\n```\n\n### Deploying the Backend\n\n```bash\n# Deploy to production\npnpm convex:deploy\n\n# Or start development mode\npnpm convex:dev\n```\n\n### Using the Widget\n\n```bash\nnpm install annotated-feedback\n```\n\n\n```tsx\nimport { FeedbackProvider } from 'annotated-feedback/widget'\nimport 'annotated-feedback/widget/styles'\n\nfunction App() {\n  return (\n    <FeedbackProvider\n      convexUrl=\"https://your-deployment.convex.cloud\"\n      project=\"my-app\"\n      enabled={process.env.NODE_ENV !== 'production'}\n      hotkey=\"Alt+F\"\n    >\n      {/* your app */}\n    </FeedbackProvider>\n  )\n}\n```\n\n#### Next.js (App Router) SSR Notes\n\nThe widget depends on Excalidraw, which references `window`/`navigator` during module evaluation. When a Next.js App Router layout imports `FeedbackProvider` directly, the server render path throws `ReferenceError: navigator is not defined`.\n\nWork around this by:\n\n1. Wrapping the integration in a client component.\n2. Dynamically importing the widget on the client (e.g. inside `useEffect` or via `next/dynamic({ ssr: false })`).\n\nExample pattern:\n\n```tsx\n\"use client\";\nimport { useEffect, useState } from \"react\";\n\nexport function FeedbackWidgetProvider({ children }) {\n  const [FeedbackProvider, setFeedbackProvider] = useState(null);\n\n  useEffect(() => {\n    import(\"annotated-feedback/widget\").then((mod) => {\n      setFeedbackProvider(() => mod.FeedbackProvider);\n    });\n  }, []);\n\n  return (\n    <>\n      {children}\n      {FeedbackProvider ? (\n        <FeedbackProvider\n          convexUrl={process.env.NEXT_PUBLIC_FEEDBACK_CONVEX_URL!}\n          project=\"my-app\"\n          enabled\n          showButton\n        />\n      ) : null}\n    </>\n  );\n}\n```\n\nThis keeps the widget disabled during SSR, then hydrates the overlay once the browser environment is available.\n\n### Using the MCP Server\n\n```bash\nclaude mcp add annotated-feedback --scope user -- \\\n  env CONVEX_URL=\"https://your-deployment.convex.cloud\" \\\n  PROJECT=\"my-app\" \\\n  npx -y annotated-feedback\n```\n\n### Feedback Watcher\n\nUse `scripts/watch-feedback.ts` (or the standalone CJS version) to stream pending feedback and invoke a shell command per item. The example command `/action-feedback-item {id}` in the config uses the `claude-comms` helper from https://github.com/screwyforcepush/claude-comms.\n\n## Development\n\nSee individual package READMEs:\n- Widget: `widget/README.md`\n- MCP: `mcp/README.md`\n\n## Architecture\n\nThis package uses a **shared Convex backend** model:\n- Multiple apps can submit feedback to one central deployment\n- Apps are distinguished by the `project` field\n- MCP server can be scoped to one project via `PROJECT` env var\n\n## License\n\nMIT\n","readmeFilename":"README.md"}