{"_id":"@seneca/owner","_rev":"32-08caaf6d057090349cd81f3a238ac339","name":"@seneca/owner","dist-tags":{"latest":"6.4.0"},"versions":{"0.3.0":{"name":"@seneca/owner","version":"0.3.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@0.3.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"672d62f9f45bb289af371f7b26b688108eab0b09","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-0.3.0.tgz","fileCount":4,"integrity":"sha512-zmq9WzRabalRKpKVDEqGFeTXy0Q5BARsc/SvDEjWr3r068aawLtHAmHY1VKYIGJB10wkhoEz3Xe/ELaAUBauyA==","signatures":[{"sig":"MEQCIEeTMPrj+O13xFf+MtopwmwsLeGzeL3kfTyt0bGiagpqAiBtDAVBpkPq5OIIeUgUvGIhWwTHI1INRC6PQWbS3oQk9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciRYvCRA9TVsSAnZWagAA2IsQAJHueV1r9Q9XG3jPaNrg\nsWdgRVk3wzi5R+W4FH2jAS6951u90YOfqchYn9bT3v8TOTE/GCRpP8nXy2mY\nO1G/Hi2YIENrgvGlRNY1smxWMGkMEZmPs+MZql6Gsmv5UqJZLwJDOvFXvgy9\n3fp5gsbpkfN1V12Qk3r0R0GEyZ2sjz/r145OfdZVGvwUKvssUFxCAwNM/PmP\nQjUqejsFZD3hzOllw2RhMszMEqrtt4Q+6fIxdWTx3UwTFF4ueeTy/B5m/a4/\nQ8hxRi4tbZzCXQROpEgIFoiOUiJMKK2DYZdyuE8bUAP8i7hta9LmOLdCpFF4\nh9NPKcZ1gHz/lzOa8d+JMgXGhPWVvffpYaKKIH38jLnTcltPdSe92ZpWZzhF\nHP4SjHLQjyR0cav1caIARmB0ChLgtcHtXTdHCsrmzU1vCt+xKmlBeRx0NsVX\nYqO2c8gNGTq9/zd9wxl/IccC0FWqTDG9N3aVzbbd41bCtQgI4gERhB/jC9rU\nKAAqqaADzf39u/nDAYsTa9Y1qu/OLTGoCbDMsYRsLv/ghqZsdpMz4DswNoOF\nRwcYc8WNJ5lMtZ/cg0q5pElVcH1E+o6hBN7Qo/UzXCAIXuKGSOnSppb0R5lP\nzOjS1QsQsybSzOI39c8iI8gsSgWQ3wx7rDJxgIIVUHGF0Gyt8+O9jddWtov4\n6ADa\r\n=SP2W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"d9380fa82f60525572cd485a85eeb0ee5c4e8c12","scripts":{"test":"lab -P test -t 90 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","clean-npm":"rm -rf node_modules package-lock.json","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm test && npm run repo-tag && npm publish"},"_npmUser":{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.4.1","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"8.15.0","dependencies":{"optioner":"1.1.x"},"_hasShrinkwrap":false,"devDependencies":{"joi":"12","lab":"14","code":"4","seneca":"github:senecajs/seneca","prettier":"1","coveralls":"3","seneca-entity":"2","seneca-plugin-validator":"0"},"_npmOperationalInternal":{"tmp":"tmp/owner_0.3.0_1552487983090_0.3521987616218063","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@seneca/owner","version":"1.0.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@1.0.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"94c8fdbf3db09efca77a097ba8cdb0300ff75bd2","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-1.0.0.tgz","fileCount":4,"integrity":"sha512-raR0/yYld9XSlz88nT2AICHYWVw+AubUj20rx+haZ0xigS42bNdXkQ8tG6c9b6iP0soHdhCzYze6Dm1jKGh5Sw==","signatures":[{"sig":"MEYCIQC1jIGB4e0kV7kDj+Pw3BC/jZ0D7TGvhHqN+KHR8+caZAIhALCDum31q+B1NiZlFMd1CVz2a1cDW4x3lQidpCXaPbez","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciRZmCRA9TVsSAnZWagAA6wkQAJ6WttboVe26KBo4NG6U\nyirA5ZdNWkl3bKMdGsyTQDWq3N1kLKC+XoZFjiAe5xuOi1NGkljIuYQa4VEv\no7Sy4BnGJTmKALLwWEVkQ2wIlywuDuXbXIPbmWRJFll9MDc5Xgy+lDst+O0p\ncUWF/L8BhZkv4ceterfTGMG9UpUOzbzsWLC5P+MuXqthEVgYSlzuG5luJ+Vt\nTLAt5t9YYRvYv2bF/ts8VDxS0Jx+ibJMHlBfu3aoEcz8ddBAR5ZtoP406pKF\nQ5aUWyUglpQSb30dwd+fLs+DA8D0GlMW4aX4+PDFSfMkL8Fk0622VMFLJEkM\nbgQv3PTiTiyROxbVJ68Z7i8HS/pEJ7/jisALy2S62pKAi9VJ2VWqXEotILtT\nD4iTOdvHMGh1mHNNPqZzP/MV7oqIy9NKwjnWTq+m05S2eSVVHNJYJr6oCKIK\nad41KNTcXbLVu1MfHmxMYtt1t2eV3ugqDqBtpwckK91jNOcHsVLFePA4KVSF\n6G7eq9i74yjYEKPyfv96JBk1w30rd9At0QutSSCtIUEi/pOwO31w1IQKovH6\n7KuIj2o6h9TA99KA6C5k3vdwzHGXQqJRFWtY3cObZuistSu4qyq5wr7iuStx\nLWK++mbn80dT6aYxQ2H/4HRJA1eCe1OovW/JwqRMDiFSOrIQQw2PyuZWZ/wH\np6ib\r\n=D6b1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"88cfdc7d66fe254e086ae7512d55748b828b22dc","scripts":{"test":"lab -P test -t 90 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","clean-npm":"rm -rf node_modules package-lock.json","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm test && npm run repo-tag && npm publish"},"_npmUser":{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.9.0","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"8.15.0","dependencies":{"optioner":"1.1.x"},"_hasShrinkwrap":false,"devDependencies":{"joi":"12","lab":"14","code":"4","seneca":"github:senecajs/seneca","prettier":"1","coveralls":"3","seneca-entity":"2","seneca-plugin-validator":"0"},"_npmOperationalInternal":{"tmp":"tmp/owner_1.0.0_1552488037484_0.41265271697289374","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@seneca/owner","version":"2.0.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@2.0.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"581b721e1137614d50344bef47d49cffa2ac6491","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-2.0.0.tgz","fileCount":4,"integrity":"sha512-XBLJ9PnpvOokbCugu0XYyltEWVsUfncsTyFKxGmsta3T5D2GT6gwycrFnEapjRZx4fP8fUbB65upxy7lFydfLw==","signatures":[{"sig":"MEUCIQDDzsnqVHce/1NkV415J08XxlahFYAPJxKTGISacpV+2AIgNC+nR/jtF1gIoOigPNK32yOKA4IrA3Pyxbl2LIrbggc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0FeNCRA9TVsSAnZWagAAiOwP/2dQ3SrxAnUyorvyPzzG\nMqsl190M+0XeL6ySh1IJFl5D/0Gtedn2xuNGy6TqFqCbtsXZcSsKxUhkkUkW\nqDFkXnX/laBPioJduRkw1FupgN6EbyD+SVgZv4PJre8QXoyS1+rnUOUjJcl0\nvzy4a5hkoXFnPGuwDfTOtnt3Xkc3mgRCmrA9eg68O07UJmKU68Bb735Mouto\nKWiQ/ytBiLDRKKY60n1RsWUxV/HKeoLQuiyGi4JYADm8jIMq6B5pp8B1XNvG\n+orYVVWFs7CZB42QWxIbvLvQgRW5Xb0zF5XzxSWRmF9HThzEyhgKh4TXoV33\nbsV7Gv5O3fwrJsvcrPWDljFWlsegWop+OXE5ZaWz6frKeF/cFTW6WggiL9AC\nvusnHLImL9hH1k7dXeKajU2Pci/m6vQkBnX9xyZhW5ERj4IkE5Sd6NZ2TSWv\nxFacBlNPQJWPPEyJ5l3Pb7FZZk01lu5JWuhPIFR3LuN86eu98uEz+fMM4EhT\n8SmvaDM/oMIoGTTfHbk6Ix5CCIpipVb7APp6ZNorWnZv9KhdxkdJRETMRMrG\nWU7jcgFm276u3l+HQLv5XIyJUQTCOx20FIGkrSOQrR7Soynla/xcs7HCipFM\nYmPT0uw+tCGswm2TfVrx6XrFlXOX4gsVg/z3T/J2dZ41EgEnaN4Gp2OHvomk\nQoyM\r\n=twbQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"014a07a48e56abe1134137653d4381314ec7e4d0","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","clean-npm":"rm -rf node_modules package-lock.json","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run prettier && npm test && npm run repo-tag && npm publish"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.4.1","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"joi":"^14.3.1","lab":"^18.0.2","code":"^5.2.4","seneca":"^3.9.0","prettier":"^1.17.0","coveralls":"^3.0.3","seneca-entity":"^3.3.0","seneca-promisify":"^0.7.1","seneca-plugin-validator":"0"},"_npmOperationalInternal":{"tmp":"tmp/owner_2.0.0_1557157773080_0.49441401941276575","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@seneca/owner","version":"3.0.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@3.0.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"a77b882e2f87265f674e15d1eff703da8b9e4548","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-3.0.0.tgz","fileCount":4,"integrity":"sha512-iDsqFavsterJQiaq2vmp9bByF8uTP3HlAJhswffvvxbNPxx8NnmNh23PNy23iwWND4p5rDvOFxGX1XlYRRmtjw==","signatures":[{"sig":"MEQCIBOaLJbwBvvMrsow9BRYULS0IiwlgEMXSxC6oyt0v+pGAiA8tuR9b9eMWDDNBk8UKM/Ldv6NCzpQY1/VKN/rs7luLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2++LCRA9TVsSAnZWagAAMLcP/jOfNiduPa/TjJb1JYic\nvnsqG+EpNgkvg+5XdVDTitE2dSuyu1LuNlNya1i3PsoD9mnQrobCBtYvYmLu\nicSaulo4Edttq4Ww8Wwjfi+v46BZpRmnVSLRmo/6Nr4qvXgidD7PuYwZvNjd\n+p9BA56w9icdeU693kbxCWl5BmoaTrBFQM5xs0l+uQtOA/R3di9VfXjhtSG2\nC1nr+f3YQuLTWp8X2HAbD/GVwjLEtLOWRDrJwLEE3o6PomAEQdJkp+JSO8cc\nAb5MMmY7Ax55X8CNhQMgNls/ZUZZoK7NLWXOXoZEUD52ZPU2xJ6bsjXZOWAF\n4v2dK7tEAuRjelttS1zIHaGm7IW/ETlb/gSWjrFBFyNJ4cUIblLxYhDOGruf\n1ODgJ6rIO3xC1W8LNxoIa3BLjx22/kVXenl+nXLlOo14pqFml7bLVL996SXi\n5EXFseCBw/+XT9GxkdHkkMT2dUigG3ScmtD49YJWG6J/qTKnIr/32SUFRaWj\nT9W+jXvWwWGkDIZ9AEF+sdhJegflAhemuFS2OE9444esklIYOXuf4UrNFxIM\nDvxB31iV3FHQPw0AfhuP2rt/qAsFH+TDPnMH3jWKKr7Psmv3iWX9xcdBuni1\nzy9PBxPlJM8tMhfDb2vn+prNIczRkQMklzCem04grH2EUNx8Zr3SBsbbJ5IY\nPXKJ\r\n=TObW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"7a06e69d07845882a13a1d05a8c6189325726015","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","clean-npm":"rm -rf node_modules package-lock.json","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run prettier && npm test && npm run repo-tag && npm publish"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.4.1","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"joi":"^14.3.1","lab":"^18.0.2","code":"^5.2.4","seneca":"^3.11.0","prettier":"^1.17.0","coveralls":"^3.0.3","seneca-entity":"^4.0.0","seneca-promisify":"^0.8.0","seneca-plugin-validator":"^0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_3.0.0_1557917578499_0.8124176066878999","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@seneca/owner","version":"3.1.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@3.1.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"df0c0e9895ebdf80ada21834b9703b85a866e940","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-3.1.0.tgz","fileCount":4,"integrity":"sha512-7x79gwTxE+cgSrB0jsXlP1pNvWgjmrFkhLB9sgtqEcM79vKhd91cmF84DEMExif/S5fsDcS5I3rLTwPLeFMkYg==","signatures":[{"sig":"MEUCICrHf9OA7tr4tv+g+T5LeGpsvAJ2CFam8SAlfK0EddxkAiEAqDgK1aT5Q2ti3tKHAPlj+0FjAuIrOqIJDrH9ias9gEs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3px5CRA9TVsSAnZWagAAkzkP/1KL0+G0ps3prn1K3dyH\nmJJ+1cxaGu522/lC9m2Y9HGKqRc4Jo0oOr9bBI76wG6ctJ4pO3tGDSMVsEXJ\nW4754d5dT3L8MbT5YoI8nNSnBnDXn4igdkG039b6FoL/7Mjmzo2UQoxetp6Y\neG5Ip499TOpBLBkR6Ozod+TepTTiKWhJjuWMbpgxcBmOLzTk4HsjCCH8+n/C\n55TetuGiD2t97q/jK+YGxkkPuJLCZ7Yt2X4OW3jAXH9ZRMqkZp5Kp9ojW6ff\nZ808+i+NAMHWLAPIZFRHmpFAuR2Qb58lTy3sR2vkT/2a/4vxGtJmZyC5r0K1\nTjwSP9n93wlGZaQ0gQAL1TJ9nsdCHOUOmm7Q95Mi6U5YFAPKjMcrm9BfmUAW\nEZ0EGuJjJvxgxLsZ/1c4WpEtveLtPjB5X9UieZ1TKJiynoZpcjAku8EaJyWU\nW1e9vGUoWt0Q8V8XXHdflOFNg7L/i50Gy2dSBXYwuNcRyM2TytxWjlpnTOZN\noSENmZp15NhFsgVsArKXfOcuAjDFuNRny8eyW4/Qa5Z6/TapJ2bnUAow9JHj\n7wklv1FyHqGWzKnErT3fjtLltc2j2CVyON+AW9M5/LzbOmC6oFASyYr5o/8q\nYPhd6azpl6IHPvq/lJssG0a8Ev3apugCfZ+pjW9yHnFU5CqLEtGAgRa+2N9Z\nlIsU\r\n=7cXZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"d43f7d490ba16c69a7f50fc51fa9a47f78a33b15","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","clean-npm":"rm -rf node_modules package-lock.json","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run prettier && npm test && npm run repo-tag && npm publish"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.4.1","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"joi":"^14.3.1","lab":"^18.0.2","code":"^5.2.4","seneca":"^3.11.0","prettier":"^1.17.0","coveralls":"^3.0.3","seneca-entity":"^4.0.0","seneca-promisify":"^0.8.0","seneca-plugin-validator":"^0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_3.1.0_1558092920284_0.5796098908169158","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"@seneca/owner","version":"4.0.2","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@4.0.2","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"72152da68a1511e302c3663e7e37f8b6db9b45b1","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-4.0.2.tgz","fileCount":4,"integrity":"sha512-cv5TtACu4jk2TvGhlGydfduFN4c0NcSmzNVYzNfMhlgo+5OxwWTkDbyRkx37hp/v8h4ZjFLfeaoVmizDpc7w3g==","signatures":[{"sig":"MEYCIQDnRQBjEvbSOkRMvmQDe304LP2hYYYQQD9Fq2/f03r28QIhAN+b0Uz3Tyz8ms8Sl6BBhvprKYFV+x2K3tvAG76Pbrnw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJddpG8CRA9TVsSAnZWagAAEZUQAIsh2p8xRRqBQoFrRgs5\nPcXgsGsxMp+7qf4vWrxE+de73R3onV7uvc8rXCmefDf6t8nqDg+ZNTbQAV9E\nAMzW99xoRdnE6D/F9vxz7hHwHdIfiQ85nS0fOrfVBOFp2GUT2T+Z9VgNaklQ\nCndjJ2yZKGvohqKla0UcxK/ymuJV54DT7WCi70ztbZKtaWhQ2lHq1qoytVym\nwWuwytgWYA5ymI/Q9JkAviXb+VlkLPPPyNR1O2CnyCzhKRwsF2zPz4EFTAwR\nwGufqnoV7gCxZ4tRvIPuViJ9eXhuieT++SxNPXVOHCiWcV5/jFfLvRqU3y9q\ngLCZ9OR4IintOfKK2K95N449EQvrB86tySeUys2iYBAgHRszeKE1acwVfi+V\nCtQg1T02ZjAtpTOFmKFL4KFju6xE07yjiScXGCkZKh9pDmfeTQ85eQvllKES\n5Q0i86wddmMeORH7lda5AnA62aiXibCgS6/+X0WP1x6P7MhIE2Q89A088HQZ\ntCdnG6xMPOVw+rSkn4CGK851svrSSAKgYIAuUXYcCYMtrkCbGkBFaUotf8HV\nAK2yI4L5JGoEvktNWFFfIwpcMzb9d3hvx9QU7nLT1XnXmc1scJ+Axpu/hAle\ndsz6Kk7aSQYZWUQPGBpFAdW5vE9m+derjYGb8ZEJFSQ41aq+cdDmx37Dhzca\nWMix\r\n=bmAb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"8f6d1ae91c555d7a1f0aab27459c98a08bb236a5","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","clean-npm":"rm -rf node_modules package-lock.json","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run prettier && npm test && npm run repo-tag && npm publish --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.11.3","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@hapi/joi":"^15.1.1"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.15.1","prettier":"^1.18.2","@hapi/lab":"^20.2.2","coveralls":"^3.0.6","@hapi/code":"^6.0.0","seneca-entity":"^5.1.2","seneca-promisify":"^1.1.0","seneca-plugin-validator":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/owner_4.0.2_1568051643529_0.826275035996501","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"@seneca/owner","version":"4.1.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@4.1.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"353469d900ef750d8d622bb6ed29e07e91f95581","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-4.1.0.tgz","fileCount":4,"integrity":"sha512-6nlm/7d/xHjASAVvGF5pZ2vzUOJH3qzTO2CM9NciDU5o0CIVaHdurAmSh9Osy8CGVCzb04NBZUn9mzdVcTrbgA==","signatures":[{"sig":"MEYCIQDhlYBp1/v9vlxGbPjeLZhUosT1p1m+yswmvHnUvGHIkAIhAJH+3cyGLnujCyM2aV3dixfrKkl2cSFwQZqQoZFNLhxJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMKxxCRA9TVsSAnZWagAAiaMP/3lnzKktCfyUHOyg6sQJ\nl8M4bWDipTvgbMj6rytMOf2xKtkhCCfRMkStxtRKKbj90dxRY/LjXxMf9s3+\nl7x3wuJ0KEvmPWpllEPN8gHRpx52M0F6e+v53jrcWnSsZdti3GE5IKRjJpdZ\nqC2R87DsIzqamOjMnQZPIZFVQcQfn8fxibN8a97jWc9ZbZlDfPG3GySwATmz\nVnVDmGhxnGFVHnVs3tB55Pf9FfL7tm+ErW1QKTLGd1Q0NvPa6ePd8yRxNifp\nqWh86+1APIIaFmR0Up22Knj3Z5WrW5fWm4f3mBp/7U4F7ogjvA76zyH6+1VK\n8z3+pPqNJ9ISSbPodkeeocds6HBUXpvdl8tVsyRWcJTxrUvezZLXSaj3Vpsl\npkovxL3f6TJTeBIwkh66oMGvWX+bPJez9nOUq+PDEz2xU2SOoPZP0u9v+krW\n0lyVnnGm691uSrWbsfIvjLcge+bzADnvOEt3ToOjZByQllJ9Quh0+5Ni5FyI\noyQ7h1oNuU155NlaWOsVFKSDSfDM4bR67rIc4pVCW/X6uIBsjqvuZ/uOwomW\ndCT6F7Yxc4xLqwX5qfqvDEFtwsf4ihi87j0q8OWxBPEFM7nA+43zobIbcVUf\nLDQYnqnsV9iRYEHOh9fTxWhWO8rWfWhPTxMAYiqOLpwwHi2p1prXYOwAP1aM\nIVzl\r\n=bfCN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"f2d54c355460ddf34e5335e074ac8f185fbc8700","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.1","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@hapi/joi":"^17.1.0"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.20.0","prettier":"^1.19.1","@hapi/lab":"^22.0.3","coveralls":"^3.0.9","@hapi/code":"^8.0.1","seneca-entity":"^7.0.0","seneca-promisify":"^1.2.0","seneca-plugin-validator":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/owner_4.1.0_1580248176643_0.5168211293339959","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"@seneca/owner","version":"4.2.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@4.2.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"128a9919994fd0dd2319a05141a02d4712d385c1","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-4.2.0.tgz","fileCount":4,"integrity":"sha512-zE3VCT9UwytjEJCOwWYkkh0fQbH7Vrtk8rDGW0evZ26bcgKKbykplvpEsrVWcNTVUK1tiLho75Ke4L9IGAJExw==","signatures":[{"sig":"MEUCIHUZA+keGZC6Wylekw4/5AzYd2ch0H2IOQAMRr7JZephAiEAiWrWkANNyFd18BNyqx1zxFre2S7ga3RJvws9p9qMnKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQL5rCRA9TVsSAnZWagAAyHsP/3++YJY3iZHTpmueyYsl\neFw4R0o0BweMp3ewmnrVBjMOWfsBbaTE8gw4LwT9FDaija08mU/6LSJ2AzxR\nHBZctsS2nKscVVf67hFTywo0Jgt24UB3rXEMWSFnvWbX2ewRXd9o8NiQP5uf\nkg7yl9A7yYeaDThm74KyW9TAd6ZL6jloVoTVJ1pnqV27giaJqOd9xyXHclFg\nINDhrYcKCl7cG+0jlddnQ1x2KjFb2z75h67pxb2LrcyxwtFStlQAJ2zIHHUg\nMV+kEQBVAnndD0rwkxYeng2f+72gj0STik/qD7i5+SUyYBbqJuDM8h4wWscC\ndgNg8qF8T4st7JQMBntIQ6DlkLxkLnNovMyyU6Pu/oFYqntJwXyT0jFd33QQ\n1iiAeR1XNuBIn3E5VTXbmEpP6LlHaD5Vhn5ngImQWBSgb2CKJn1OxVYMejNz\nu1SMx9tNkjG712HPkqLH8lcwyRzsfJY8pd0JqLKshbwbHVZDsr+sFC6PAgf0\nQiMfLQHq/CdnRx9wze+Lj3vT7YOSX4DC943K+PtnP03AlKsDr9aWTRKaBjCM\nGoELEtRURsI5Rj+Wrhug2vYaA2GQVmWqmAezC+Ylyw0wkrH8Ax7BfnZEhHdD\nfGOQDiLx6r0MT+IhTKr0dbMJcDdhPIpA3WjeEjLkCOWGpt+xFOlZzCkbErSQ\nlAy4\r\n=dxfG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"f9406a9541895eebc839c9e683572809d2f3ace5","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"@hapi/joi":"^17.1.0"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.20.1","prettier":"^1.19.1","@hapi/lab":"^22.0.3","coveralls":"^3.0.9","@hapi/code":"^8.0.1","seneca-entity":"^7.1.0","seneca-promisify":"^1.2.0","seneca-plugin-validator":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/owner_4.2.0_1581301355336_0.3743041568813332","host":"s3://npm-registry-packages"}},"4.2.1":{"name":"@seneca/owner","version":"4.2.1","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@4.2.1","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"37eb03bb4d302660d7b8cdfaaaa6f5aa3920c649","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-4.2.1.tgz","fileCount":4,"integrity":"sha512-Nhhg+dIWOf7i371n8cgX5di6VCH8SoUxLBiC7LZObtKki0R6SMqIICRov3jCVJzxqGM+Io1suv0ZQmRvEQ8jtg==","signatures":[{"sig":"MEYCIQC4Tp0UUiaKpCk1LApR4oTPiglLxxzZ/WCRnyWxvCSqxwIhAMtuEMkCrYZaa+DBGgi/KVuKMzda9dji1zm7XWz97Pxd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQUjuCRA9TVsSAnZWagAAapgP/AoTG1PY5Txvd9YeTN8C\nWGlwGTYzyfV8GwT4pk+QZI1je+MsAYAruj3jn/AeqgULWaGl1fJjJ/1CGQ/e\n6UUGZd/srKGfarKbQWMx6IXUmxrYCK0dsDZmGbmSw9SG+0GMPU/coJYaFtPM\nn+LTX8Za1UmO1+Z95o7ZGYTt1Yg5sl/I15DfwuS2kgBiBcSyEaaX5hRRgnU3\nnQq+Ian9nwAP6xnYK0MdxVP5qw+leYae3cy7LSXLTcf8Qznhwnqrgc66brOw\n+rhW7L27D8G9aWaq7Bh4PMOONBIXjbGH8/iOY6fKrqJy8yQvhgHHLgIZM0pR\n3xKMM3ksLEs62NG+5PyPryg4OFzBQ+urg72NEW3qV3pT6XILLMyXxHe2FXgR\nWfPwGM9Oi/W3WwHamR43FAaJ3WMr96G2RUj71Y/1GsY5jvlChDoMTGFMOCT0\nF+F5OFeQiTSGi6S/tNKeCsY8gKm0UewSI5kdcc3kXIkOxb45yU8p+8KV7fpK\nXxHIwW4emuJ/HObQYMuCTS4Yy5hbMPespXVAZBf2gvqXKOaXhYpwSwYv1t6z\nJ/7j3TjIdjfpDz82JefrPyE9xmyjVSXhzfYGoqoaxQpX9PI3qrAtVQijhnK3\n4rR9bncshUrYwBafZwxhYVfuxtgaYpXu8MjUkUCYeR8g2dlWEuA2wk2o2KUJ\nX5Ef\r\n=Lkve\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"26b3864857bc2c7ff06335e74ddc7a5976df6e3f","scripts":{"test":"lab -v -P test -t 80 -I BigUint64Array,BigInt64Array,BigInt,URL,URLSearchParams","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"@hapi/joi":"^17.1.0"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.20.1","prettier":"^1.19.1","@hapi/lab":"^22.0.3","coveralls":"^3.0.9","@hapi/code":"^8.0.1","seneca-entity":"^7.1.0","seneca-promisify":"^1.2.0","seneca-plugin-validator":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/owner_4.2.1_1581336813649_0.5575700126692682","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@seneca/owner","version":"5.0.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@5.0.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"825bc725b20ad78145e4538870febc00969c9636","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-5.0.0.tgz","fileCount":11,"integrity":"sha512-JxA5vEfhk8QMVcq8nExdt0aYgQ/I3Ag5cMPVbpYYHcD9YKA9nSuB9Jd4atIUqkI78tpa/yuD60WcIfsM04YQ1w==","signatures":[{"sig":"MEYCIQDaNvrU7YDClzH0MBbOKR0QXmCwK2kF3fOag0IcmJW2CAIhAIbGeI5YFk7MsDT073SdkVFKQYWynwy4fMlSN/e0QyJY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFOVFCRA9TVsSAnZWagAAc60P/jMl91NQOHuk9Z2Nf4Ei\nbTKfYVIm9Uehz2Yw0cBkD/zsHuC/3S07/6gIVWeR1oZMuovX6ujuBkS5IgaC\npt3MFyTtJ0dYPzYmx3SpQJVJe7mow6gopQF10FaSpK+D/zJv8ZEsX+lU6wRj\nO2Y464qvcajJO3M28n2htTYNLnlltqLXPqM2wWQNi1RY4Q4A/JniqLnqMWvE\nuHjr3u1gi8YY+74iJ53jn8pyyKosykazvhyyDUZqPAgUvotUxVgF1C7oVPNE\n44JvaVI7Bw2hdXF/rGy9/7+zFqE5EtKf96BBwAn0XuyoVeNutM+IcwhtAVUl\nOAPwGt4VFQjYIokxrcYz87LA3htuc/uif75JapgpTBNgoG55oJHfXIJa75rs\nJadrP5E5gY48ERU1CqO1ICDxODCDuUF+YuABGaEliSfhJOqtkN4kmWJon6+0\nh2Bhd+KKF0dYyXZIX7D4hPrLS6Ctstuw+e3MYEgypAPslsJ/WN6/CkW0siIb\nbb94Rev90ul5l8K1GjPvsyYvW0J+939NQ3k+2fySLx5sBBiEvfj+GRzv2Lea\nvYHXY08lCAQ7tN8NdYVnsMJwxzYzP5QXinXP6ypJJ4mfxfxgrDVtraTMkssr\nYJUrXozwjpfvxnZrOP+7mC06GDXg0sVnVhPhD+ic7qoNvxSSuy8oM9q10pdt\nvYTQ\r\n=qpdu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"8408c7a384fb58ed3e9842c12e601d7985efdf8f","scripts":{"test":"lab -v -P test -L -t 80 --sourcemaps --transform node_modules/lab-transform-typescript  -r console -o stdout -r html -o test/coverage.html","build":"tsc -d","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","watch":"tsc -w -d","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"@hapi/joi":"^17.1.1"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.22.0","prettier":"^2.0.5","@hapi/lab":"^22.0.4","coveralls":"^3.1.0","@hapi/code":"^8.0.1","typescript":"^3.9.7","@types/node":"^14.0.23","seneca-entity":"^10.0.2","@types/hapi__joi":"^17.1.4","seneca-promisify":"^2.0.0","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_5.0.0_1595204933104_0.26882674056089284","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"@seneca/owner","version":"5.0.1","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@5.0.1","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"a2b016beadd9aa3743601b5a38622c2da978a34d","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-5.0.1.tgz","fileCount":11,"integrity":"sha512-Qe+n6iFNv3VfFQ+O5n2DC3OtYMgA+QXRZU2mxpgW19UU7q6/DyKeQxbbTij0gkgD2yEWwnzJetImEsvu6WgkWQ==","signatures":[{"sig":"MEQCICWxODQaBP0hvpUsO4oTk3MKgUQwmVsKZDEhj1mhr4qYAiBEMWgM4fAkEHv1WILdqikI8WoaMSzZniajzJX33f9B7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFOnNCRA9TVsSAnZWagAApjoQAISGZP8IGdIGizpO9jMo\n7Lrk5inEbwDavXcmyz3nefh9OqBVflI9GWsvkSF+bitJ+1gDgnLp/Qr/f03c\nZLZPuh+yX4lcn2FhUQFKA/iZWmUxou7wNr+Q6BJ2xb9tj517V1AESrKz3prr\nPtL3TmATwDEOYLEvNeJjAkR7dRsXlwBNOUJ5Pgv83HNAtFfPB+f1iK4oR8oe\nsLMC/4oOJLF28bTokhLfnfXjV5XU+dc252+co2G5L+dzf8QKutJJguVmJ5Bj\nuPp7fjjZF8dkxqXNwdtwfucGWF3aoZdq6DxGrLy2OdcA45TGmO5ygQb2t1xb\nMDP2I8Zj8pRghDSAF3yfsMAePPeeRp+7DrJ8FBnMjgLn9GW2Irs8S+a4P0Ny\nE/GninQJ01qBje96axE3GdcTgoBs35sRrwxkLD4GRHCY/vpmhPJbK7rGXx2B\nnPLx9r4SwcN1y6zDRG8gc7TojPeQ6SeyjI3rslkomNo2xipWGuubAGV8kI++\nHAb1F3yeLaG6ElU0VRfzlBK1o34Us4nLWuXFfQQ6bxO95+rb4j8lODMSuS2k\nPG9vci/5ZliqK2+XxalgjdottnyQAzmfeMfj6Yp6qxsBGkQpuG7Sl+l/UJP+\nrLK1wd6+DgY7hUDI27n69gxyzFyMBKiys1AwC0XpxTMtGPfvDjRlFO9Gar3J\njBng\r\n=NDCx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"60bcbcb54c38b465916b90fafcfa5e0872fe9dff","scripts":{"test":"lab -v -P test -L -t 80 --sourcemaps --transform node_modules/lab-transform-typescript  -r console -o stdout -r html -o test/coverage.html","build":"tsc -d","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","watch":"tsc -w -d","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"@hapi/joi":"^17.1.1"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.22.0","prettier":"^2.0.5","@hapi/lab":"^22.0.4","coveralls":"^3.1.0","@hapi/code":"^8.0.1","typescript":"^3.9.7","@types/node":"^14.0.23","seneca-entity":"^10.0.2","@types/hapi__joi":"^17.1.4","seneca-promisify":"^2.0.0","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_5.0.1_1595206092944_0.9167914556784378","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"@seneca/owner","version":"5.1.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@5.1.0","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"9dcc1325dadff00b5a6498851e7ec5818949fda6","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-5.1.0.tgz","fileCount":11,"integrity":"sha512-YTrDQxcyfQT/poQ70FAOdKqNmAaXSJ68P+ODoti3G1/XAbJR42XCPaseIdNNFXQy/4CEDLNtLx5ibgPCWfTqsg==","signatures":[{"sig":"MEYCIQDhN6Rw+z1r5I6m4HbyaGR3aG1D0esixE53rpHj5MDFJAIhAPEeG3ynjf4BTcFFib2BY/d0Nlp8XtYN8xy58CyHd694","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMo3NCRA9TVsSAnZWagAAv48P+gJkY5izzfSc+UWDLkS0\nbdPp/Yqxi8kl/S3SsQGxWIb0XnWMUKOnWzOcvEOY3JOBtWueSPLSgSs4hXmo\nIq370Jfv7IGIUvKNUOZMbT/WVBqInWYDx4iZA8QIqpraI7ihM8nhz4TaMNO9\nNF7A5Org9lDXN45Nj/gX95cx+l4jE0uvsMeNR+n8HWOG0/yALp4wgx3xd6mD\nEzE+9bd8IjK2je1hmg8foKrvWMEjOsaaNnOBEyA5aU8UKRNgeb+CtRr7tE+l\nmTjdY79cO2IBH339v/ty2/opnM3rPi8fH3yC47Pu5boF1M+TRUcDj+SXpLsG\nF5OOgUeN2xDRh6R1lBiixG/VwwV3bagNYFNwYLBEBdpiBWG9xX+ptwKY2ajE\nsuRXzz/pQtQTRDLD1BokCj2aNDRuhZE+9SKKPTA8xiMCPe8LeTkAqBd2UAww\nmmN+e2DkEfKEKD8MKExGDVkVnwUAWMcKyaQsSN4Bhw4RMdoSsvWoXD9tyadA\nfU9VesCdzDEW24W94poUSSHx7Blq+5/0Ir1kx78ORuWCXWOXZILYoVxEDcEi\nWD9XdN7RCdS7DV+OSAN8PB/9na3QogsUE//X0Z8rZkBzkEsaz75kKZ24HE3B\n+cJoyNkuBn6oh98Dhaea24GyqfDwMo0aBdbeKuwW0nUkxNNu7q+rwNSQ/3lT\n2iJB\r\n=VH9x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"bccc93829ddeafbc082e83278a0d8599eb548374","scripts":{"test":"lab -v -P test -L -t 80 --sourcemaps --transform node_modules/lab-transform-typescript  -r console -o stdout -r html -o test/coverage.html","build":"tsc -d","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","watch":"tsc -w -d","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"@hapi/joi":"^17.1.1"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.22.0","prettier":"^2.0.5","@hapi/lab":"^23.0.0","coveralls":"^3.1.0","@hapi/code":"^8.0.2","typescript":"^3.9.7","@types/node":"^14.0.27","seneca-entity":"^10.0.2","@types/hapi__joi":"^17.1.4","seneca-promisify":"^2.0.0","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_5.1.0_1597148620404_0.7990015325598676","host":"s3://npm-registry-packages"}},"5.1.1":{"name":"@seneca/owner","version":"5.1.1","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@5.1.1","maintainers":[{"name":"georgigriffiths","email":"georgi.griffiths@voxgig.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"seneca-owner","email":"seneca@senecajs.org"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"6ae5b2b42028279ba8847a0c6b6d2c2a7de12b49","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-5.1.1.tgz","fileCount":11,"integrity":"sha512-NPyYHpKtSLPPexHGMHuqVUSDf1+uQWkhSSZU/wxXDytE6N2UNjtpAsyrW9o94WBmcHhSprhKYljHVnxa8SD8oA==","signatures":[{"sig":"MEYCIQCs8gmmZeR+gV+xh65xx50gThqfshhhewMbtQidp2Ec4wIhAKkOQg4s9gv+/X52QST+Yxsbceq0YERbyFEZTOmjt/wl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMpV6CRA9TVsSAnZWagAAK0wP/ii3hq0V/FoLUfRZyx2B\no+DQFDqR+iLUEhap4I5cpLu2DCHGbVCivlevByRAKFN28MtI189b8g9hcn8d\nRfLmVmzOPWFPsJ2HtG2BYUr+WV+E8Yh14+2TdNA3aRmDJFnZP9PmM9124cOz\n1z8ftRT25B3+iJVYgA10irX1aV6boPtWXoE/ms5RLUo98fRqjoswcNo0HmF1\nSnq5WPYU1GoCO2GOpG1KuFX7BjMTaHuN1AffGEoW4ma7A8KLOTdhyftLi9Hs\nvXT+knSpuc8ug+i3sG6zIQUucNxOwKnvgz5z9yXUTfzfCl91rsWNlsL9y9K8\nudGnYV6ItkH8Z+15vfWeHtw3guaXqcNwPcpiRD5FRaIsWSIGwp81vJ9wUPkK\nI6hB5MPYQc9c30L+Vx03PXzPiabxMJtUaR+DMfOSp4bulZRDtDCvpSa91Kv2\nydrl75L66AwNSIonBZlGIo7WgM98IEVBhXsfr7GHbbAEgE4GXXccjbJ+aZaL\n06ptRIjg/V2MOICfvFas9Oj5RcsWeJ6k4QAttwIxqJlI9frz/HEdjrqU7J9e\nhWOlMXx20gMSFvjie8oQcm6uqKg2LlifI/DQEaSWPdBWMxuItIug/CdNTN3D\n2dT9UVguY/p2byMO0GYpBHTWxyMms58mDhB5coLiCeBRSnuluL+2Uj/8ievV\n91kg\r\n=N0cZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"539c296d0a3c2697f01b480623ae4b89ab3190ec","scripts":{"test":"lab -v -P test -L -t 80 --sourcemaps --transform node_modules/lab-transform-typescript  -r console -o stdout -r html -o test/coverage.html","build":"tsc -d","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm test","watch":"tsc -w -d","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.13.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"@hapi/joi":"^17.1.1"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.22.0","prettier":"^2.0.5","@hapi/lab":"^23.0.0","coveralls":"^3.1.0","@hapi/code":"^8.0.2","typescript":"^3.9.7","@types/node":"^14.0.27","seneca-entity":"^10.0.2","@types/hapi__joi":"^17.1.4","seneca-promisify":"^2.0.0","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_5.1.1_1597150585678_0.39769787870792705","host":"s3://npm-registry-packages"}},"5.2.0":{"name":"@seneca/owner","version":"5.2.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@5.2.0","maintainers":[{"name":"seneca-owner","email":"seneca@senecajs.org"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/voxgig/seneca-owner#readme","bugs":{"url":"https://github.com/voxgig/seneca-owner/issues"},"dist":{"shasum":"06c824d6d8ad6a1f69b5540f9d90caccfcbf93ab","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-5.2.0.tgz","fileCount":11,"integrity":"sha512-IUFiS2S3HEnmaMQw9i6MTbfEFebmSLaPywdlasLxexwbwmOGCNhqVmVDgU2FVcHIFeGLVnfZ7Cnq8uYe3bsDTA==","signatures":[{"sig":"MEQCIHUoxv6wjYSVPA+jIQaMkogj4Xm1IQppTSXafLcG1P/fAiAfh5S90eYMjFJe0xQm/b7kvHblRK6eAeU2p5rVKpd+hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2aHwCRA9TVsSAnZWagAAu+EP/jERND9pnemz5trZ/TsX\nxVdPpj7qvyqSyovZsSBVNHmQDHWIB3chKUNl99BBxac7NuR026P7rmJ10/t8\n3IGlXIOozfZBIKxUZk/Q7PUUSLl5xIzhUE2FMdNE4va/JmSWYLUG7HcyEzch\n6ilRJ/oE6rmcHpsb7dy8Yb8TLkaf3ZB1mDT2IAK1/VHlwlmHES10pGYH/KGx\nsB0RtH0Wm85Irex4WYftw9nweJPoMHwzRBncGhPtVSIBY2kdvf3TosTP7IJs\nzX1ivq8x8tuE3BLDIcSVqODVwBHDBCpaKXN+jEDvhRf9BK31zfUeZ/hVBpeu\n1iJwO3a4Xl5r3kuBAdzJoQvnHgUYEZnzy6g8soXVT3JS05v08Qdbck4pxmZI\nwQKgCSDP5MwZQIXSLEEBcfqMZ39Dv9E+1UlmoeyUmsHqapoykOKRAxOGYWGd\nJ+i55P4oBCP5fTxE0QaX1I2YRSaHtJaBOmKH+iX2q0HRmoJINdP9fwol49f8\nsXPnu+IN24C+i8iED7IIJTg/Msad1g1aSphoTOD6nb58dqDMgBd9/5jrDm9K\nmRr1Df+4uUR3yeMl8jMJYvioFAXIG5asDQfs7HcYzt4wNDtw5KUVQ5aujjRl\nxbwrimk/Qwb9NP4oMx8uHyefPf+kIsfnCZ6ARY5xqIl/s2iHSYenHphK1eax\noGof\r\n=sPi2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"owner.js","gitHead":"5304942cd6ee99c902f7bd4cbe2ba44db787c304","scripts":{"test":"lab -v -P test -L -t 80 --sourcemaps --transform node_modules/lab-transform-typescript  -r console -o stdout -r html -o test/coverage.html","build":"tsc -d","clean":"rm -rf node_modules package-lock.json yarn.lock","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","coverage":"lab -v -P test -r html > coverage.html","prettier":"prettier --write --no-semi --single-quote *.js lib/*.js test/*.js","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","coveralls":"lab -s -P test -r lcov | coveralls","repo-publish":"npm run clean && npm i --registry http://registry.npmjs.org && npm run repo-publish-quick","repo-publish-quick":"npm run prettier && npm run build && npm test && npm run repo-tag && npm publish --access public --registry=http://registry.npmjs.org"},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/voxgig/seneca-owner.git","type":"git"},"_npmVersion":"6.14.11","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"14.16.0","dependencies":{"@hapi/joi":"^17.1.1"},"_hasShrinkwrap":false,"devDependencies":{"seneca":"^3.23.2","prettier":"^2.2.1","@hapi/lab":"^24.1.1","coveralls":"^3.1.0","@hapi/code":"^8.0.3","typescript":"^4.2.3","@types/node":"^14.14.37","seneca-entity":"^13.0.0","@types/hapi__joi":"^17.1.6","seneca-promisify":"^2.0.0","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/owner_5.2.0_1617215159178_0.5608178711931466","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"@seneca/owner","version":"6.0.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@6.0.0","maintainers":[{"name":"alex01","email":"jk1143298@gmail.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"stokesriona","email":"rionastokes@gmail.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/senecajs/seneca-owner#readme","bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"dist":{"shasum":"7ed17e0c58e1aae77aa484d3c38b793bd97bb506","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-6.0.0.tgz","fileCount":4,"integrity":"sha512-DVUVsegUfCU0lUnkUBX34zYm9wiapJIyGQ1DTcrg7x4FjSrhZov8y2tSmqA42jlN6jJsqzwQQECT4AgybI3+CA==","signatures":[{"sig":"MEUCIDHVswYYLECbnDNga2oshcuEeJpKqgbyuVimEqluNL/iAiEAoYCzK8T2LlJYST6gj5869P1DjAUFzlO+j3pK08rqOUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26432},"main":"dist/Owner.js","type":"commonjs","types":"dist/Owner.d.ts","gitHead":"8039822c2a1fac57665d19ba76efbb59037dfb03","scripts":{"doc":"seneca-doc","test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules yarn.lock package-lock.json dist","reset":"npm run clean && npm i && npm test","watch":"tsc -w -d","prettier":"prettier --write .","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"jest -t","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run doc && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"_npmVersion":"8.19.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"16.20.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","seneca":"^3.33.0","prettier":"^3.1.1","coveralls":"^3.1.1","seneca-doc":"^2.1.3","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","seneca-entity":"^25.1.1","@types/hapi__joi":"^17.1.14","seneca-promisify":"^3.7.1","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"peerDependencies":{"seneca":">=3","seneca-entity":">=25","seneca-promisify":">=3"},"_npmOperationalInternal":{"tmp":"tmp/owner_6.0.0_1702956143082_0.6607861966533664","host":"s3://npm-registry-packages"}},"6.0.1":{"name":"@seneca/owner","version":"6.0.1","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@6.0.1","maintainers":[{"name":"alex01","email":"jk1143298@gmail.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"stokesriona","email":"rionastokes@gmail.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/senecajs/seneca-owner#readme","bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"dist":{"shasum":"f9aa6463a872a21273ff72b3cc003ef908438704","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-6.0.1.tgz","fileCount":15,"integrity":"sha512-66sGl1qoWYMZ8FfIbWUiRSqsTtzmVDvQojcvbQqyr9wWKKygOVFf16Aair7Fc3HsXlGXPPhoLiDvudY5ueTTZA==","signatures":[{"sig":"MEUCIQDjPLpd3FPbNMiEEodU+AT/vRNwdWCCfBkeefJHnd+AeAIgIYIvspGC8DPo557WzEw2f0FiqV+RC4cQqvMj0bFD6DQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67707},"main":"dist/Owner.js","type":"commonjs","types":"dist/Owner.d.ts","gitHead":"028eedf445d4fc51229796dcee82badd42f57788","scripts":{"doc":"seneca-doc","test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules yarn.lock package-lock.json dist","reset":"npm run clean && npm i && npm test","watch":"tsc -w -d","prettier":"prettier --write .","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"jest -t","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run doc && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"_npmVersion":"8.19.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"16.20.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","seneca":"^3.33.0","prettier":"^3.1.1","coveralls":"^3.1.1","seneca-doc":"^2.1.3","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","seneca-entity":"^25.1.1","@types/hapi__joi":"^17.1.14","seneca-promisify":"^3.7.1","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"peerDependencies":{"seneca":">=3","seneca-entity":">=25","seneca-promisify":">=3"},"_npmOperationalInternal":{"tmp":"tmp/owner_6.0.1_1702956795667_0.7159860194730041","host":"s3://npm-registry-packages"}},"6.0.2":{"name":"@seneca/owner","version":"6.0.2","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@6.0.2","maintainers":[{"name":"alex01","email":"jk1143298@gmail.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"stokesriona","email":"rionastokes@gmail.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/senecajs/seneca-owner#readme","bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"dist":{"shasum":"98c42f4084fa37a9c790be1332816589432ac96e","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-6.0.2.tgz","fileCount":15,"integrity":"sha512-RjMmWcg/yuyEu0deBOIN2l+0bOPZPWrkY3NA4vZTU86+ImlB0JtNATkq8b5IkMFuAuho0nqxmnwDoEG2HPROfw==","signatures":[{"sig":"MEUCIHKF2+eDukdWc/zci/qMjP82ghjD3vkPBoIOgEk7bz+GAiEAr0cyZobe2esAo1Rgew9tsomzuFpKcG4gp4sPaTW+6a8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69252},"main":"dist/Owner.js","type":"commonjs","types":"dist/Owner.d.ts","gitHead":"9d2ad64f65a5a97372237ef1a5b1916a2286edf1","scripts":{"doc":"seneca-doc","test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules yarn.lock package-lock.json dist","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","prettier":"prettier --write .","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"jest -t","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run doc && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"_npmVersion":"8.19.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"16.20.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","seneca":"^3.33.0","prettier":"^3.1.1","coveralls":"^3.1.1","seneca-doc":"^2.1.3","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","seneca-entity":"^25.1.1","@types/hapi__joi":"^17.1.14","seneca-promisify":"^3.7.1","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"peerDependencies":{"seneca":">=3","seneca-entity":">=25","seneca-promisify":">=3"},"_npmOperationalInternal":{"tmp":"tmp/owner_6.0.2_1703006106507_0.2980988817885446","host":"s3://npm-registry-packages"}},"6.1.0":{"name":"@seneca/owner","version":"6.1.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@6.1.0","maintainers":[{"name":"alex01","email":"jk1143298@gmail.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"stokesriona","email":"rionastokes@gmail.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/senecajs/seneca-owner#readme","bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"dist":{"shasum":"f067662f4a183fcd57882ac7ad1825b7e1815ec7","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-6.1.0.tgz","fileCount":15,"integrity":"sha512-z+Z9cBcYrA1+eVjilbtfvio4BGyLuThNcFtWXRs9cjtIwKf51HPhTDHbG8WfdN4W3M7GmfGTVsMEq3IjVDGt7A==","signatures":[{"sig":"MEQCIAidjPr3Ku4HfJz7rye7ncUajtydzTWz3kOPefdGe48VAiAE/40A0IhmQI8wWZTXahgx6jT4/FJHTF4kifFOJCCCpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69151},"main":"dist/Owner.js","type":"commonjs","types":"dist/Owner.d.ts","gitHead":"e4720cfb6f2c74d88bce539b802e8595cc05d80a","scripts":{"doc":"seneca-doc","test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules yarn.lock package-lock.json dist","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","prettier":"prettier --write .","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"jest -t","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run doc && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"_npmVersion":"8.19.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"16.20.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","seneca":"^3.33.0","prettier":"^3.1.1","coveralls":"^3.1.1","seneca-doc":"^2.1.3","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","seneca-entity":"^25.1.1","@types/hapi__joi":"^17.1.14","seneca-promisify":"^3.7.1","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"peerDependencies":{"seneca":">=3","seneca-entity":">=25","seneca-promisify":">=3"},"_npmOperationalInternal":{"tmp":"tmp/owner_6.1.0_1703010738992_0.6987780965803918","host":"s3://npm-registry-packages"}},"6.2.0":{"name":"@seneca/owner","version":"6.2.0","author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","_id":"@seneca/owner@6.2.0","maintainers":[{"name":"lmscunha","email":"agile.ice4816@fastmail.com"},{"name":"alex01","email":"milenkovicaleksandar470@gmail.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"stokesriona","email":"rionastokes@gmail.com"},{"name":"rjrodger","email":"richard.rodger@voxgig.com"}],"homepage":"https://github.com/senecajs/seneca-owner#readme","bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"dist":{"shasum":"1b217ba01486b7e1417c811412bfa0ed7923b4b0","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-6.2.0.tgz","fileCount":15,"integrity":"sha512-jZ0HaEFqQbT037Dvwu/JB+bmpHTQkajOWX7gPlpDuvklgSFQK9fnDmPWzH7Hg5t7v/X+hiE6kYacVOloulYrVA==","signatures":[{"sig":"MEQCIBd/wyKhxHr6E3cR/lcc1dEXPCF2TphliBNaDlwnsF5wAiALowM4eNS9TUNKYCBTJiS+0O4Z2xo9JU8p9Xgsp9B2Pg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69164},"main":"dist/Owner.js","type":"commonjs","types":"dist/Owner.d.ts","gitHead":"89a7e0dbb95ba6ec8d4231c27eeb6984e5f8cb4c","scripts":{"doc":"seneca-doc","test":"jest --coverage","build":"tsc -d","clean":"rm -rf node_modules yarn.lock package-lock.json dist","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","prettier":"prettier --write .","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"jest -t","test-watch":"jest --coverage --watchAll","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-publish-quick":"npm run build && npm run test && npm run doc && npm run repo-tag && npm publish --access public --registry https://registry.npmjs.org "},"_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com"},"repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"_npmVersion":"10.2.4","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","seneca":"^3.33.0","prettier":"^3.3.1","coveralls":"^3.1.1","seneca-doc":"^2.1.3","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.14.2","seneca-entity":"^25.1.1","@types/hapi__joi":"^17.1.14","seneca-promisify":"^3.7.1","seneca-plugin-validator":"^0.6.1","lab-transform-typescript":"^3.0.1"},"peerDependencies":{"seneca":">=3||>=4.0.0-rc2","seneca-entity":">=26","seneca-promisify":">=3"},"_npmOperationalInternal":{"tmp":"tmp/owner_6.2.0_1718048957940_0.5041759233290746","host":"s3://npm-registry-packages"}},"6.4.0":{"_id":"@seneca/owner@6.4.0","bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"dist":{"shasum":"e5d4b3916dc673f24746ea5461db4e0878fefa0d","tarball":"https://registry.npmjs.org/@seneca/owner/-/owner-6.4.0.tgz","integrity":"sha512-Z0rZOAFHLU1poKG5pISaTWQ7fVak6ti9KO68Bdc+zTNmsi1BWwGCcLia8JWbEXxOQnmj9KwzDb0lFPMofPndRQ==","fileCount":23,"unpackedSize":164324,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFU9JSH6+nj3tJmxalUeqVRkKudTWd44ZGNY/myrnL/aAiEAoP4tAspDERI0sKFuvVpBJE6GTUcvXetm9oM8bRrZO60="}]},"main":"dist/Owner.js","name":"@seneca/owner","type":"commonjs","types":"dist/Owner.d.ts","author":{"url":"richardrodger.com","name":"Richard Rodger"},"engines":{"node":">=24"},"gitHead":"df968c87cd396639470f7a4c0c46d5920e80793b","license":"MIT","scripts":{"doc":"seneca-doc","test":"node --enable-source-maps --test \"test/**/*.test.js\"","build":"tsc -d","clean":"rm -rf node_modules yarn.lock package-lock.json dist","reset":"npm run clean && npm i && npm run build && npm test","watch":"tsc -w -d","prettier":"prettier --write .","repo-tag":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;","test-some":"node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"test/**/*.test.js\"","test-watch":"node --enable-source-maps --test --watch \"test/**/*.test.js\"","repo-publish":"npm run clean && npm i && npm run repo-publish-quick","repo-tag-dry":"REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo \"[dry-run] TAG: v$REPO_VERSION\" && if git rev-parse -q --verify refs/tags/v$REPO_VERSION >/dev/null; then echo \"[dry-run] WARNING: tag v$REPO_VERSION already exists - bump the version first\"; else echo \"[dry-run] would commit -a, push, tag v$REPO_VERSION and push --tags; nothing done\"; fi && git status --short","repo-stage-list":"npm stage list","repo-publish-dry":"npm run clean && npm i && npm run repo-publish-quick-dry","repo-stage-reject":"npm stage reject","repo-publish-quick":"npm run build && npm run test && npm run doc && npm run repo-tag && npm run repo-stage-publish","repo-stage-approve":"npm stage approve","repo-stage-publish":"npm stage publish --registry https://registry.npmjs.org --access=public","repo-publish-quick-dry":"npm run build && npm run test && ( npm stage publish --dry-run --registry https://registry.npmjs.org --access=public || echo \"[dry-run] npm stage publish refused (see npm error above) - usually the version is already published; bump package.json before a real release\" )"},"version":"6.4.0","_npmUser":{"name":"rjrodger","email":"richard.rodger@voxgig.com","approver":{"name":"rjrodger","email":"richard.rodger@voxgig.com"}},"homepage":"https://github.com/senecajs/seneca-owner#readme","repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"_npmVersion":"12.0.1","description":"Seneca plugin to add user ownership annotations to entities.","directories":{},"maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"lmscunha","email":"agile.ice4816@fastmail.com"},{"name":"alex01","email":"milenkovicaleksandar470@gmail.com"}],"_nodeVersion":"24.16.0","devDependencies":{"shape":"^10.1.0","seneca":"^3.33.0","prettier":"^3.3.1","@hapi/code":"^9.0.3","seneca-doc":"^2.1.3","typescript":"^5.4.5","@types/node":"^24.10.1","seneca-entity":"^25.1.1","seneca-promisify":"^3.7.1"},"peerDependencies":{"shape":">=10","seneca":">=3||>=4.0.0-rc2","seneca-entity":">=26","seneca-promisify":">=3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/owner_6.4.0_1785859879156_0.8989675971609532"},"_hasShrinkwrap":false}},"time":{"created":"2019-03-13T14:39:42.914Z","modified":"2026-08-04T16:11:19.472Z","0.3.0":"2019-03-13T14:39:43.208Z","1.0.0":"2019-03-13T14:40:37.610Z","2.0.0":"2019-05-06T15:49:33.176Z","3.0.0":"2019-05-15T10:52:58.734Z","3.1.0":"2019-05-17T11:35:20.406Z","4.0.2":"2019-09-09T17:54:03.655Z","4.1.0":"2020-01-28T21:49:36.784Z","4.2.0":"2020-02-10T02:22:35.461Z","4.2.1":"2020-02-10T12:13:33.751Z","5.0.0":"2020-07-20T00:28:53.266Z","5.0.1":"2020-07-20T00:48:13.139Z","5.1.0":"2020-08-11T12:23:40.761Z","5.1.1":"2020-08-11T12:56:25.811Z","5.2.0":"2021-03-31T18:25:59.382Z","6.0.0":"2023-12-19T03:22:23.211Z","6.0.1":"2023-12-19T03:33:15.923Z","6.0.2":"2023-12-19T17:15:06.716Z","6.1.0":"2023-12-19T18:32:19.209Z","6.2.0":"2024-06-10T19:49:18.090Z","6.4.0":"2026-08-04T16:11:19.244Z"},"bugs":{"url":"https://github.com/senecajs/seneca-owner/issues"},"author":{"url":"richardrodger.com","name":"Richard Rodger"},"license":"MIT","homepage":"https://github.com/senecajs/seneca-owner#readme","repository":{"url":"git+https://github.com/senecajs/seneca-owner.git","type":"git"},"description":"Seneca plugin to add user ownership annotations to entities.","maintainers":[{"name":"rjrodger","email":"richard.rodger@voxgig.com"},{"name":"lilsweetcaligula","email":"efimbogdanovsky@gmail.com"},{"name":"lmscunha","email":"agile.ice4816@fastmail.com"},{"name":"alex01","email":"milenkovicaleksandar470@gmail.com"}],"readme":"![Seneca](http://senecajs.org/files/assets/seneca-logo.png)\n> A [Seneca.js](http://senecajs.org) plugin\n\n# @seneca/owner\n\n[![npm version](https://img.shields.io/npm/v/@seneca/owner.svg)](https://npmjs.com/package/@seneca/owner)\n[![build](https://github.com/senecajs/seneca-owner/actions/workflows/build.yml/badge.svg)](https://github.com/senecajs/seneca-owner/actions/workflows/build.yml)\n[![Known Vulnerabilities](https://snyk.io/test/github/senecajs/seneca-owner/badge.svg)](https://snyk.io/test/github/senecajs/seneca-owner)\n[![Coverage Status](https://coveralls.io/repos/voxgig/seneca-owner/badge.svg?branch=master&service=github)](https://coveralls.io/github/voxgig/seneca-owner?branch=master)\n[![DeepScan grade](https://deepscan.io/api/teams/5016/projects/12956/branches/208825/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=5016&pid=12956&bid=208825)\n\n| ![Voxgig](https://www.voxgig.com/res/img/vgt01r.png) | This open source module is sponsored and supported by [Voxgig](https://www.voxgig.com). |\n|---|---|\n\nOwnership and role permissions for [seneca-entity](https://github.com/senecajs/seneca-entity)\ndata. Declare which fields identify the owner of a row, and every entity\nmessage is scoped to the calling user, their organisation, and their\nrole — without an ownership clause anywhere in your application code.\n\n## Install\n\n```sh\nnpm install @seneca/owner\n```\n\n## Documentation\n\nThe documentation follows the four [Diátaxis](https://diataxis.fr)\nmodes — start with whichever matches what you are doing:\n\n| | |\n|---|---|\n| [Tutorial](docs/tutorial.md) | Learning: build up ownership, tenants and roles step by step. |\n| [How-to guide](docs/how-to.md) | Doing: gateway wiring, read-only roles, public rows, transfers, debugging. |\n| [Reference](docs/reference.md) | Looking up: every option, grant key, message, error code and explain field. |\n| [Explanation](docs/explanation.md) | Understanding: axes, scopes, compiled roles, and why denials are quiet on reads and loud on writes. |\n\nWorking on this repository with an AI agent? See\n[`AGENTS.md`](AGENTS.md) (and [`CLAUDE.md`](CLAUDE.md)).\n\n## Quick Example\n\n```js\nrequire('seneca')({ legacy: false })\n  .test()\n  .use('promisify')\n  .use('entity')\n  .use('owner', {\n    // Ownership axes, most specific first: user, then tenant.\n    fields: ['usr', 'org'],\n\n    // Guard every seneca-entity operation.\n    annotate: ['sys:entity'],\n  })\n  .ready(async function () {\n\n    // Set custom property to identify user\n\n    var alice_instance = this.delegate(null, {custom: {\n      sysowner: {\n        usr: 'alice',\n        org: 'wonderland'\n      }\n    }})\n\n    var bob_instance = this.delegate(null, {custom: {\n      sysowner: {\n        usr: 'bob',\n        org: 'wonderland'\n      }\n    }})\n\n    // Save some entities\n\n    var save_a1 = await alice_instance.entity('zed/foo').data$({id$:1,a:1}).save$()\n    var save_a2 = await bob_instance.entity('zed/foo').data$({id$:2,a:2}).save$()\n\n    // usr and org fields are injected from the sysowner custom property\n    console.log(save_a1) // $-/zed/foo;id=1;{a:1,usr:alice,org:wonderland}\n    console.log(save_a2) // $-/zed/foo;id=2;{a:2,usr:bob,org:wonderland}\n\n    // Users can load their own data\n    var load_a1 = await alice_instance.entity('zed/foo').load$(1)\n    var load_a2 = await bob_instance.entity('zed/foo').load$(2)\n\n    console.log(load_a1) // $-/zed/foo;id=1;{a:1,usr:alice,org:wonderland}\n    console.log(load_a2) // $-/zed/foo;id=2;{a:2,usr:bob,org:wonderland}\n\n    // Users can't load other user's data\n    var not_a2 = await alice_instance.entity('zed/foo').load$(2)\n    var not_a1 = await bob_instance.entity('zed/foo').load$(1)\n\n    console.log(not_a2) // null\n    console.log(not_a1) // null\n\n    // Nor list it, nor remove it (a silent no-op)\n    console.log(await bob_instance.entity('zed/foo').list$()) // [ id=2 ]\n    await bob_instance.entity('zed/foo').remove$(1)\n    console.log(await alice_instance.entity('zed/foo').load$(1)) // still there\n  })\n```\n\nThis example runs as [`test/readme.js`](test/readme.js) (loading the\nplugin from the local build), so it stays honest: `node test/readme.js`.\n\nA Seneca instance with no `sysowner` custom property — the root instance\nabove — is unrestricted. Ownership applies to callers that have an\nidentity; internal code that has none is not affected.\n\n## Roles\n\nOwnership answers *whose row is this?*. Roles answer *what may this\ncaller do, and how far does their reach extend?*. Set `rolesys: true` to\nturn them on:\n\n```js\n  .use('owner', {\n    fields: ['owner_id', 'org_id'],\n    annotate: ['sys:entity'],\n    rolesys: true,\n    roles: {\n      member: { grants: [{ entity: 'sys/note', ops: ['list$','load$','save$'] }] },\n      editor: { inherits: ['member'], grants: [{ entity: 'sys/doc' }] },\n      admin:  { scope: 'org_id', inherits: ['editor'], grants: [{ entity: 'sys/audit' }] },\n    },\n  })\n```\n\n- **`grants`** say which entities a role may touch, and with which\n  operations (`list$`, `load$`, `save$`, `remove$`). Entity patterns may\n  be exact (`sys/doc`), a whole base (`sys` or `sys/*`) or everything\n  (`*`).\n- **`inherits`** is an explicit DAG: effective permissions are the union\n  of every inherited role plus the role's own grants. Nothing is implied\n  by a role's name.\n- **`scope`** relaxes the ownership axes *more specific* than the named\n  one. `scope: 'org_id'` gives a role its whole organisation — and never\n  another one. `scope: '*'` is the only way out of a tenant.\n\nThe caller's role comes from the `role` property of the owner record.\nWith `rolesys: true` and no `roles` declared you get two presets:\n`member` (own rows, any entity) and `admin` (the whole tenant, any\nentity). Declaring roles replaces the presets entirely.\n\nDenials are quiet on reads and loud on writes: `list$` gives `[]`,\n`load$` gives `null`, `remove$` does nothing, and `save$` rejects with\n`role-entity-not-allowed`.\n\n## More Examples\n\nThe test suite is a worked-example catalogue — each file covers one\ndimension:\n\n| Test | Shows |\n|---|---|\n| [`test/basic.test.js`](test/basic.test.js) | Plain single-axis ownership. |\n| [`test/gateway.test.js`](test/gateway.test.js) | Identity from a gateway principal (`ownerprop`, field mapping, `ignore`). |\n| [`test/role.test.js`](test/role.test.js) | Grants, ops, wildcards, unknown roles, `defaultRole`. |\n| [`test/hierarchy.test.js`](test/hierarchy.test.js) | Inheritance chains and org scoping. |\n| [`test/tenant_key.test.js`](test/tenant_key.test.js) | A tenant axis that is not called `org_id`. |\n| [`test/permission.test.js`](test/permission.test.js) | Multi-role setups, including bad-actor cases. |\n| [`test/convention.test.js`](test/convention.test.js) | Declared roles replacing the presets. |\n| [`test/owner.test.js`](test/owner.test.js) | Per-message specs, and group permissions via case modifiers (`org-scenario`). |\n\n## Motivation\n\nProvides ownership permissions for entities in Seneca. Ensures users can\nonly access and modify their own data.\n\nThe check is a property of the data model, not of each call site, so it\nbelongs in one declaration rather than in every service method. Applying\nit at the message layer means nothing can reach the store without passing\nthrough it, and the rules stay independent of which store you use. See\n[Explanation](docs/explanation.md) for the full reasoning.\n\n## Support\n\nIf you're using this module and need help, you can:\n\n- Post a [github issue](https://github.com/senecajs/seneca-owner/issues)\n- Tweet to [@senecajs](http://twitter.com/senecajs)\n- Ask on the [Gitter](https://gitter.im/senecajs/seneca)\n\n## API\n\nFull details: [reference](docs/reference.md).\n\n### Options\n\n| Option | Default | Description |\n|---|---|---|\n| `fields` | `[]` | Ownership axes, most specific first. `'owner_id'` or `'owner_field:entity_field'`. |\n| `annotate` | `[]` | Message patterns to guard. Must match registered actions — usually `'sys:entity'`. |\n| `ignore` | `[]` | Patterns to pass through unguarded. |\n| `rolesys` | `false` | Enable role enforcement. |\n| `roles` | *(presets)* | Role definitions: `{scope, inherits, grants}`. |\n| `defaultRole` | `'member'` | Role for an owner record with no `role`; `null` denies. |\n| `ownerprop` | `'sysowner'` | `meta.custom` key holding the owner record (dot paths supported). |\n| `specprop` | `'sys-owner-spec'` | `meta.custom` key holding a per-message spec. |\n| `caseprop` | `'case$'` | Owner-record property naming a registered case. |\n| `default_spec` | *(see reference)* | Base `read`/`write`/`inject`/`alter`/`public` rules. |\n| `include.custom` | *(owner record exists)* | Extra activation conditions on `meta.custom`. |\n| `owner_required` | `true` | When `false`, messages with no owner record skip ownership entirely. |\n\n### Action Patterns\n\n* [hook:case,sys:owner](#-hookcasesysowner-)\n\n### Action Descriptions\n\n#### &laquo; `hook:case,sys:owner` &raquo;\n\nRegister a named set of *case modifiers*: functions that adjust the\nownership rules at runtime, selected per caller by the `case$` property\nof the owner record. Use these when a permission depends on data the\nstatic configuration cannot know — group membership, a support session, a\nfeature flag.\n\n| Property | Type | Description |\n|---|---|---|\n| `case` | `string` | Case name, matched against the owner record's `case$`. |\n| `modifiers.query` | `(spec, owner, msg) => spec` | Rewrite the rules for this caller, before ownership is applied. |\n| `modifiers.list` | `(spec, owner, msg, list) => list` | Filter or transform rows returned by `list` (and the pre-check of `remove`). |\n| `modifiers.entity` | `(spec, owner, msg, ent) => spec` | Adjust the rules on `load` by id, using the loaded row. |\n\n```js\nseneca.act('sys:owner,hook:case,case:support', {\n  modifiers: {\n    query: function (spec, owner, msg) {\n      spec.read.owner_id = false     // support staff read across users…\n      spec.write.owner_id = false\n      return spec                    // …but org_id still bounds them\n    },\n  },\n})\n```\n\nRegistering the same case name again replaces its modifiers.\n\n### Exports\n\n| Export | Description |\n|---|---|\n| `Owner/make_spec` | Expand a partial spec against `default_spec` — build `specprop` values with this. |\n| `Owner/casemap` | Live map of case name to registered modifiers. |\n| `Owner/config` | The normalised default spec and validated options. |\n\n### Debugging\n\nOwnership rules can become complex. To debug individual use-cases, in production or otherwise, use the `Seneca.explain` feature.\n\n```js\nvar explain_log = []\nawait seneca.post('cmd:do-stuff', {explain$: explain_log})\nconsole.log(explain_log) // A record of message calls and custom debug information.\n```\n\nEach guarded action appends a record saying what it decided and why: the\nowner record and spec applied, the refined query, `field_match_fail` for\na read that did not match, `fail` for a rejected write, `role_denied` for\na role denial. See\n[reference: explain data](docs/reference.md#explain-data).\n\nThe _explain_ functionality is also supported by [seneca-browser](https://github.com/voxgig/seneca-browser), so you can use it directly in the browser console. You may find it more useful to use the general capture:\n\n```js\nvar explain_log = seneca.explain(true)\n// ... user interface actions that generate requests\nconsole.log(explain_log)\n```\n\n## Contributing\n\nThe [Senecajs org](https://github.com/senecajs/) encourages open participation. If you feel you can help in any way, be it with documentation, examples, extra testing, or new features please get in touch.\n\nThe plugin is written in TypeScript under `src/` and published from\n`dist/` — run `npm run build` (or `npm run watch`) after changing\nsources, since the tests import `dist/`. Documentation lives in\n[`docs/`](docs/) and follows the four Diátaxis modes; when behaviour\nchanges, update the matching document as well as the tests.\n\n### Running tests\n\n```sh\nnpm run test\n```\n\n```sh\nnpm run build            # tsc -d, required before tests see your changes\nTEST_PATTERN=role npm run test-some\nSENECA_TEST_LOG=test npm run test    # restore Seneca error logs while debugging\n```\n\n## Background\n\nWorks with [seneca-entity](https://github.com/senecajs/seneca-entity) to enforce data ownership.\n\nEntity operations are Seneca messages (`sys:entity`), so the plugin\nenforces ownership by wrapping those messages: reads have the owner's\nvalues added to the query before the store sees them, and writes are\nchecked against the stored row. Roles are compiled once at startup into a\nper-role pattern matcher, so enforcement costs one lookup per message\nregardless of hierarchy depth or table size.\n","readmeFilename":"README.md"}