{"_id":"@glubean/grpc","_rev":"33-e72b3a42bb61052873233db284afac55","name":"@glubean/grpc","dist-tags":{"latest":"0.14.0"},"versions":{"0.1.1":{"name":"@glubean/grpc","version":"0.1.1","_id":"@glubean/grpc@0.1.1","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"dist":{"shasum":"f5f66386cdca33619b858f0995ca0e66de33cc02","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.1.1.tgz","fileCount":6,"integrity":"sha512-P1YLkr4W3+LAL4GTcUjtg5OooEmRcU/T/MVEGD27lP+gsPP9+9747mwTEOUmd3lOrhPNY0MulwHlC4Tnmu+j9Q==","signatures":[{"sig":"MEUCIDiNMrpQNJUH00HZxC4VesKrL7UBn9Ehlx9K0Q23DLebAiEAuQ7NFWq9Mq5s9CRl/VMpsEkSc+gVxAt2mQKJen0OYx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27815},"type":"module","_from":"file:glubean-grpc-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/b0cc5dce2121cb50ab51ef8884116f31/glubean-grpc-0.1.1.tgz","_integrity":"sha512-P1YLkr4W3+LAL4GTcUjtg5OooEmRcU/T/MVEGD27lP+gsPP9+9747mwTEOUmd3lOrhPNY0MulwHlC4Tnmu+j9Q==","_npmVersion":"10.9.4","description":"gRPC plugin for [Glubean](https://glubean.dev) — workflow-level gRPC testing with built-in tracing.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@glubean/sdk":"0.1.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.1.1_1773541346579_0.6168545384064936","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@glubean/grpc","version":"0.1.2","_id":"@glubean/grpc@0.1.2","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"24335e944d0f56a8c8f2487ad73f044e7c589005","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.1.2.tgz","fileCount":6,"integrity":"sha512-vuW97Cmm4Jry1xAjAx4Z/+zDYLuAvp9MT2SeHtj0E/XfctaNpckR5kukK6EvtNKVSAGMGf6i0DgxAau2O8KQ7A==","signatures":[{"sig":"MEUCIEhEFFPdbfg7horafbmOj5fOF5jTftG+QZkFreIPZotsAiEAjQLfCb+5Hbi25srjZij6pfZ9gopOtBrmdJburOPEqEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27980},"type":"module","_from":"file:glubean-grpc-0.1.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/b57477fda0d720df37baddf38fb530d5/glubean-grpc-0.1.2.tgz","_integrity":"sha512-vuW97Cmm4Jry1xAjAx4Z/+zDYLuAvp9MT2SeHtj0E/XfctaNpckR5kukK6EvtNKVSAGMGf6i0DgxAau2O8KQ7A==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.4","description":"gRPC plugin for [Glubean](https://glubean.dev) — workflow-level gRPC testing with built-in tracing.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@glubean/sdk":"0.1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.1.2_1774706220694_0.04329509392706199","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@glubean/grpc","version":"0.1.3","_id":"@glubean/grpc@0.1.3","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"c8489487f8f97c6f0c2e3f709e77dc5406e28030","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.1.3.tgz","fileCount":6,"integrity":"sha512-ZcFGZXZ2rTE80qpwK3eHUlpm1dDwGltMmRCCXjMdZMk3Lu55HZgKcLjeVuhrIUfKEQBN8AgRKSnHTYFIs2DZrA==","signatures":[{"sig":"MEUCICZRE0p6Hik2jOxFFHFc91evWkOgbHgMT+h/C8ZrDVZnAiEAhmdBzO4bIg6b5CZMY208HJ3NujGd2FzKEQLeeYElzUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30974},"type":"module","_from":"file:glubean-grpc-0.1.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/99099f52c146089f606c037703d10c06/glubean-grpc-0.1.3.tgz","_integrity":"sha512-ZcFGZXZ2rTE80qpwK3eHUlpm1dDwGltMmRCCXjMdZMk3Lu55HZgKcLjeVuhrIUfKEQBN8AgRKSnHTYFIs2DZrA==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.4","description":"gRPC plugin for [Glubean](https://glubean.dev) — workflow-level gRPC testing with built-in tracing.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@glubean/sdk":"0.1.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.1.3_1774710930619_0.20806619139556104","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@glubean/grpc","version":"0.1.4","_id":"@glubean/grpc@0.1.4","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"5842fb38b71f5fd17be971b725a711994a2cbab2","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.1.4.tgz","fileCount":6,"integrity":"sha512-HFKGEhtLbe2GC/WDQlB3CTmtEzCsxBb+ioHiyJVXH/ckoXgJ9BUKdY72HHZxtC6kV7qNwUKxt5F1ENVjH+eB8g==","signatures":[{"sig":"MEYCIQDosccNU3XLuIW3EtX0KxdCDvzXWlq1KkjKv1sdPJpFJwIhAI5h4pOqRMHfy44eQgy5dLhfKEggWeHVGY7lxby2OF7h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30973},"type":"module","_from":"file:glubean-grpc-0.1.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/25fb4799c6810b249b877ffec6b15c64/glubean-grpc-0.1.4.tgz","_integrity":"sha512-HFKGEhtLbe2GC/WDQlB3CTmtEzCsxBb+ioHiyJVXH/ckoXgJ9BUKdY72HHZxtC6kV7qNwUKxt5F1ENVjH+eB8g==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.7","description":"gRPC plugin for [Glubean](https://glubean.dev) — workflow-level gRPC testing with built-in tracing.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@glubean/sdk":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.1.4_1776557980730_0.9524256420669457","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@glubean/grpc","version":"0.2.1","_id":"@glubean/grpc@0.2.1","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"dbbc77f27d7cfb6f3daaecc4558fa4425faa2ad9","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.2.1.tgz","fileCount":26,"integrity":"sha512-A94S4KictCIpnCBd3MVE+pcSzZBeuq4je8r/8uY7bT+3VmYI60RIuhpzCv6pP9pNqIwp2E7e0r7KMz+U+jdqlg==","signatures":[{"sig":"MEYCIQDwTvJeszOme0bawzbrdjNfo/4+oxb2RWTL4XKHVdrYWQIhALc6/K4UxgpYFd0o+28iDVTRZ5mgfEEclkJbmn5EG/i3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124343},"type":"module","_from":"file:glubean-grpc-0.2.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/0180f3f8b9894ad8724038ecee39e3cb/glubean-grpc-0.2.1.tgz","_integrity":"sha512-A94S4KictCIpnCBd3MVE+pcSzZBeuq4je8r/8uY7bT+3VmYI60RIuhpzCv6pP9pNqIwp2E7e0r7KMz+U+jdqlg==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.7","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.22.2","dependencies":{"@glubean/sdk":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.2.1_1776756060491_0.5574922085429688","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@glubean/grpc","version":"0.2.2","_id":"@glubean/grpc@0.2.2","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"25d67794fa4980c29526058ec532af0a0fe13ba6","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.2.2.tgz","fileCount":26,"integrity":"sha512-OCpjSO+jj/8b0E2dYtxVRw9sBEs6b652PX6Tc7VCKPnffVm+4mYfNhxFfKAk1R4HTihHzV+5bT2++fp+irjEAQ==","signatures":[{"sig":"MEYCIQCE4TksZ/wXVjbW+bQBq1mkcEQanbIQVvWyT8M3ql2/2wIhAJKPqkgwBdbog14MZNYqViLDwcZCMq+jPavyL4p7A8pV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121299},"type":"module","_from":"file:glubean-grpc-0.2.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/cc2965b490e4e3d216355fa4e050093e/glubean-grpc-0.2.2.tgz","_integrity":"sha512-OCpjSO+jj/8b0E2dYtxVRw9sBEs6b652PX6Tc7VCKPnffVm+4mYfNhxFfKAk1R4HTihHzV+5bT2++fp+irjEAQ==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.7","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.22.2","dependencies":{"@glubean/sdk":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.2.2_1776987807488_0.9615274343315967","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@glubean/grpc","version":"0.2.3","_id":"@glubean/grpc@0.2.3","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"2362ceb4b055de74fb69599a9674380cfeca71d4","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.2.3.tgz","fileCount":26,"integrity":"sha512-S8r5Lq8yo9YlyQAKq8T3EYx88B5SJmDdWYq0cfFrqkrYP2d5sHt5zMatzmJtGtGQ9XaizLx7/r06UK8NbVj6Jw==","signatures":[{"sig":"MEUCIQCgWAT6k/TeI6jITcXrHILdLaQ/Y1PE74LIQp6pWwax6AIgKHLATEzLyw0MlFSkioMNMfWeJBi6SNuDafnH0AAJPYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121533},"type":"module","_from":"file:glubean-grpc-0.2.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/173b2402d6bb4eb37440c032f934c136/glubean-grpc-0.2.3.tgz","_integrity":"sha512-S8r5Lq8yo9YlyQAKq8T3EYx88B5SJmDdWYq0cfFrqkrYP2d5sHt5zMatzmJtGtGQ9XaizLx7/r06UK8NbVj6Jw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.7","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.22.2","dependencies":{"@glubean/sdk":"0.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.2.3_1777200426188_0.4061842575948431","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@glubean/grpc","version":"0.2.4","_id":"@glubean/grpc@0.2.4","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"47cc8d71828195a6b35152d2eecdd3b82910e9a2","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.2.4.tgz","fileCount":26,"integrity":"sha512-3QnPfsyw0CSeY3K2yqmpoSRGsCbGdTWbqE5L05xfz9ThU56mnhhvld0qG+EI5H8Oi194yxvxI5Z4dfOtjPOitA==","signatures":[{"sig":"MEUCIQCHkYztzgY9mPTy08lJoDBZO60CPnfFa6Fd27R94PpC+QIgSZ5Rd7fPwSOilAAFHWoLOiPar16/hA2j6GFo/OKJgvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124907},"type":"module","_from":"file:glubean-grpc-0.2.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/a75d38ad657fac2dd188d23a5cd79185/glubean-grpc-0.2.4.tgz","_integrity":"sha512-3QnPfsyw0CSeY3K2yqmpoSRGsCbGdTWbqE5L05xfz9ThU56mnhhvld0qG+EI5H8Oi194yxvxI5Z4dfOtjPOitA==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.7","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.22.2","dependencies":{"@glubean/sdk":"0.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.2.4_1777382537474_0.46051860488718077","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@glubean/grpc","version":"0.2.5","_id":"@glubean/grpc@0.2.5","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"a91cc62d7cb613ac23539ba5db5072ef6eb88739","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.2.5.tgz","fileCount":26,"integrity":"sha512-YVUv8Wsghr0Pov42khotwNgZfpSBxJ7KUIkTiEz1JUUgRcMn+LpVITx1LUPUqalvhxdUVjT9A0Rx1sxLwsRkOg==","signatures":[{"sig":"MEYCIQCrCGA+fX8IuCSWan2BAs+1+avMvrbN2HFLo1JrGdBfQgIhAKrT1hGvyFhpYnjHGJOewb0hU/Mt5yXQgoDXZj74Ck2U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124907},"type":"module","_from":"file:glubean-grpc-0.2.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/private/tmp/claude-501/acb96ec3ada31480ceda8d9ab8d9c857/glubean-grpc-0.2.5.tgz","_integrity":"sha512-YVUv8Wsghr0Pov42khotwNgZfpSBxJ7KUIkTiEz1JUUgRcMn+LpVITx1LUPUqalvhxdUVjT9A0Rx1sxLwsRkOg==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"11.11.0","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"24.14.1","dependencies":{"@glubean/sdk":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.2.5_1780622226582_0.06481162654696249","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@glubean/grpc","version":"0.5.0","_id":"@glubean/grpc@0.5.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"9cf595870fa314f43899087175e2ab192ae21163","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.5.0.tgz","fileCount":26,"integrity":"sha512-Ps0xxphl2eKO0HJS7128d/jPdvOuWJfxn24DNZtfhe9T4QULqxkqgzmEz2NnuwZwuIv6zQaPezMEPpfGoYtGYw==","signatures":[{"sig":"MEYCIQCYieVhfOPzvOVX84GDIhFRbjiXdNar5W4/ygeqNteKOAIhAOEkBoX+LLFnuT31k8jA1aqzo5sfBHhRNfdYJYEz5hcw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124907},"type":"module","_from":"file:glubean-grpc-0.5.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/private/var/folders/zn/65yn1ht53lq0_9z8xdlg_4bm0000gn/T/56d2820a994fe520a96d58123ee2d27c/glubean-grpc-0.5.0.tgz","_integrity":"sha512-Ps0xxphl2eKO0HJS7128d/jPdvOuWJfxn24DNZtfhe9T4QULqxkqgzmEz2NnuwZwuIv6zQaPezMEPpfGoYtGYw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"11.11.0","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"24.14.1","dependencies":{"@glubean/sdk":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.5.0_1780804172712_0.9695848138982648","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@glubean/grpc","version":"0.7.0","_id":"@glubean/grpc@0.7.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"7f0b2ffa9105b479f114f334052d94ffc9c62268","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.7.0.tgz","fileCount":26,"integrity":"sha512-7yjys5y959sfUga84XLsqXHe4JeCMy00Oey5zIBiy9TYPmzDm+glDQtCmvcKsrBHhSlpDdz7bJUUBjsXQAtLSw==","signatures":[{"sig":"MEQCIGifR7ECYtvXYWslGLtnl1s0ZwCrDpeF4+gMD6CLobowAiBw5+pAcM8YOv7uu9q9q6/tlagWz25Fq/3ZXln7AnDOTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126233},"type":"module","_from":"file:glubean-grpc-0.7.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/private/var/folders/zn/65yn1ht53lq0_9z8xdlg_4bm0000gn/T/67ee1224e7eeef57253b57efc3f0fece/glubean-grpc-0.7.0.tgz","_integrity":"sha512-7yjys5y959sfUga84XLsqXHe4JeCMy00Oey5zIBiy9TYPmzDm+glDQtCmvcKsrBHhSlpDdz7bJUUBjsXQAtLSw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"11.11.0","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"24.14.1","dependencies":{"@glubean/sdk":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@glubean/runner":"0.7.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.7.0_1781765907313_0.46767276401134183","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@glubean/grpc","version":"0.8.0","_id":"@glubean/grpc@0.8.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"9f804b4eb37eb86544efdd8fc3cec49dfdc716f3","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.8.0.tgz","fileCount":26,"integrity":"sha512-vuGdEMspNUQT8SCtv6OytvO2mZlvcCUWoDyOENOygM5PgTIj8KXGrUdNCjbG06AyGlBj5QN/BpvM1V9yYFxMVw==","signatures":[{"sig":"MEUCIQCXH89gLKgH1LDpR2Jc5QID9wAfzpWL21bKixPafYG+5QIgFaZgEFgPj7pO4hEl76Mk8VHy6/VN3WD27SPSTEL0HZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126233},"type":"module","_from":"file:glubean-grpc-0.8.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/private/var/folders/zn/65yn1ht53lq0_9z8xdlg_4bm0000gn/T/9ee2f29b9f6ffd19df2bb177ee7daafa/glubean-grpc-0.8.0.tgz","_integrity":"sha512-vuGdEMspNUQT8SCtv6OytvO2mZlvcCUWoDyOENOygM5PgTIj8KXGrUdNCjbG06AyGlBj5QN/BpvM1V9yYFxMVw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"11.11.0","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"24.14.1","dependencies":{"@glubean/sdk":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@glubean/runner":"0.8.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.8.0_1782011820121_0.5502993515597461","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@glubean/grpc","version":"0.8.1","_id":"@glubean/grpc@0.8.1","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"6120b54c74a404b5ee55c6fbcbd664c1634cd3c1","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.8.1.tgz","fileCount":26,"integrity":"sha512-zfFxCQ6EInOAlITVylj0MQHupcqJ6Sa5jsDutinGIhgO9Ra1WE9vzODMalyXvoslD54U4t4AP200tiODJw6hPA==","signatures":[{"sig":"MEUCIEdVpNuZrUTeliGkaC0rNRPkujKLiIGty4p7JgqyGuuXAiEAvFd45JvXiaMId/RlhE3ISrHG5y9ItM3buUuvkaEmHVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126233},"type":"module","_from":"file:glubean-grpc-0.8.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/381ea396439e865e9978890cc2c02e47/glubean-grpc-0.8.1.tgz","_integrity":"sha512-zfFxCQ6EInOAlITVylj0MQHupcqJ6Sa5jsDutinGIhgO9Ra1WE9vzODMalyXvoslD54U4t4AP200tiODJw6hPA==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.0","dependencies":{"@glubean/sdk":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@glubean/runner":"0.8.1","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.8.1_1782304439597_0.678536252155989","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@glubean/grpc","version":"0.8.4","_id":"@glubean/grpc@0.8.4","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"7c58f6ca8b8018a2044504de5923f994db8e9eb1","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.8.4.tgz","fileCount":26,"integrity":"sha512-VFOuOkj1/5eWdCpNZkc0RajWCw9KK1mgtLlElrB4jp4SQPebrtmDujYZ7ZUpEPbNSSLXLN8SdQvftoh7SGfB/w==","signatures":[{"sig":"MEQCIClWfmQuVE+HC17N/yvK6DGWT4A0O9NatXQ1zi66zFKAAiAYw0j7EqbrRD3FccjW99vj6rvQP5qK4CMIfQk8zMERGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126233},"type":"module","_from":"file:glubean-grpc-0.8.4.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/ff4069cc7771fef1d2b58770b724bbe3/glubean-grpc-0.8.4.tgz","_integrity":"sha512-VFOuOkj1/5eWdCpNZkc0RajWCw9KK1mgtLlElrB4jp4SQPebrtmDujYZ7ZUpEPbNSSLXLN8SdQvftoh7SGfB/w==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.0","@glubean/runner":"0.8.4","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.8.4_1782966457483_0.21680576013268116","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@glubean/grpc","version":"0.9.0","_id":"@glubean/grpc@0.9.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"b90a7c5e7f008827d07ec9d62a7aad4982936be1","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.9.0.tgz","fileCount":26,"integrity":"sha512-1Tc6dbfdnRYcSwpZs/bjtfD1lZyGCT+yMIQi534hZjGPRXiPyy1Hxf53/1OBIAXbqdIUyXO0skvuHBKXdLLMkQ==","signatures":[{"sig":"MEQCIGGvlfoySu0CvUKQnORBhGXm9INANRdOK6TntUDHcvzLAiB+fuQsuiKv7blUxsYz0s+QLb3yTec0cTplCodp7vx1Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127437},"type":"module","_from":"file:glubean-grpc-0.9.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/815ee3ecd13e0f7d966c8c59a141db39/glubean-grpc-0.9.0.tgz","_integrity":"sha512-1Tc6dbfdnRYcSwpZs/bjtfD1lZyGCT+yMIQi534hZjGPRXiPyy1Hxf53/1OBIAXbqdIUyXO0skvuHBKXdLLMkQ==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.9.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.9.0_1783032661353_0.8660079396229385","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@glubean/grpc","version":"0.9.1","_id":"@glubean/grpc@0.9.1","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"e6ebd3954071609f419703bbd920de53f582b0e6","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.9.1.tgz","fileCount":26,"integrity":"sha512-hJnehv/SJ/ZblpEyGH+vnWa0cubmkqmAbyPuEXFVfI0znKyrg9H89mAlFsFN+YA7wULJ0KjDZ1XS0jrLc2WN6Q==","signatures":[{"sig":"MEUCIHON0ouuap5U8bohPgaKn+YH/r8hJtd9HtNqVxcksW0qAiEAjih/Cas4u92Ttq+N1bTFzV8kBlmRP/PXOFrO64ey/mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127437},"type":"module","_from":"file:glubean-grpc-0.9.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/c0412e4c9216c3a5ac33fceb13d9775d/glubean-grpc-0.9.1.tgz","_integrity":"sha512-hJnehv/SJ/ZblpEyGH+vnWa0cubmkqmAbyPuEXFVfI0znKyrg9H89mAlFsFN+YA7wULJ0KjDZ1XS0jrLc2WN6Q==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.9.1","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.9.1_1783057067672_0.37812310363468615","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@glubean/grpc","version":"0.9.2","_id":"@glubean/grpc@0.9.2","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"bf411ee48e6aa3b3fa815f0e04c40a4323ed1627","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.9.2.tgz","fileCount":26,"integrity":"sha512-GsdD3i3kGhiF+Y18jtj3jOApoYhHpMBcXSl7LAw0yFxA2kJSrGecWI5YTQebIDI4XMOKbNPKKjgggAY3rOowsw==","signatures":[{"sig":"MEUCIQCa271+Uyr01FZYBOm+6QGo6xj1xdoni8Q4um68A3qhOwIgKjet73OxAerD6kZpZYKV9291oJw9oM/n3aAlHv9lEaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127437},"type":"module","_from":"file:glubean-grpc-0.9.2.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/0b83c6ce3c8f7fa499339672f3b1bf36/glubean-grpc-0.9.2.tgz","_integrity":"sha512-GsdD3i3kGhiF+Y18jtj3jOApoYhHpMBcXSl7LAw0yFxA2kJSrGecWI5YTQebIDI4XMOKbNPKKjgggAY3rOowsw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.9.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.9.2","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.9.2_1783081427827_0.912364641737123","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@glubean/grpc","version":"0.9.3","_id":"@glubean/grpc@0.9.3","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"6af06e09db32a23b5029d8e6e9d8d284fa168370","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.9.3.tgz","fileCount":26,"integrity":"sha512-oRBjey+/9Fsd/jRxfdJx8BXksIdx85t3Hj2KKWa4/yiK+YpPtREHr+dgPIUNrPQydOLp1yjyuDZWRZrHP/PLqQ==","signatures":[{"sig":"MEYCIQDKKIACAHJ5yPAdL+qPjlOe9zCId/HY+d6/QkNwh5KiZwIhAMy8H6vzEhVUoqUR47W5LKjglKA4E6qj4Is9coH47JBU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127437},"type":"module","_from":"file:glubean-grpc-0.9.3.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/96fe815e4abfaa7254ffbbb8a9502de7/glubean-grpc-0.9.3.tgz","_integrity":"sha512-oRBjey+/9Fsd/jRxfdJx8BXksIdx85t3Hj2KKWa4/yiK+YpPtREHr+dgPIUNrPQydOLp1yjyuDZWRZrHP/PLqQ==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.9.3","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.9.3_1783093028125_0.7827870890581736","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@glubean/grpc","version":"0.9.4","_id":"@glubean/grpc@0.9.4","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"82cb0900849f1d39f7b61aced9c043a9b45379ea","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.9.4.tgz","fileCount":26,"integrity":"sha512-E+DdRGEucsyYaHEUXISqs6F6rZASm9CCI56q9vN7JKf2kaKxH4dhDMA2CmW++RMjRClqnUay8pEn+pFhVd/iYA==","signatures":[{"sig":"MEUCIQDIXw7nTWeFC25/1OSVIG7doygAyA/LA4K4lXOxBNV+9AIgULy772ME6Sxch3uIYlyW2ulk0bRRINgdtkMUCvICMh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127437},"type":"module","_from":"file:glubean-grpc-0.9.4.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/b0bfb0a51b0d69bf58925635044fd2ab/glubean-grpc-0.9.4.tgz","_integrity":"sha512-E+DdRGEucsyYaHEUXISqs6F6rZASm9CCI56q9vN7JKf2kaKxH4dhDMA2CmW++RMjRClqnUay8pEn+pFhVd/iYA==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.9.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.9.4","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.9.4_1783126451094_0.955539569530985","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@glubean/grpc","version":"0.9.5","_id":"@glubean/grpc@0.9.5","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"b28f3c17dc69fe5c5beb09d9a2b5fab0b9604c4d","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.9.5.tgz","fileCount":26,"integrity":"sha512-xb1WZraRyeMwb2sVkvlyP6hitIzFCF9S9JoyqIJ5wLqsccmu2hlMS5/uKj8EKPVYB1mt1FOMcBA6DIL1HNkR7A==","signatures":[{"sig":"MEUCIFD8uHRnBl/EnjX236yD4YSa5DXW6i8PfiSEyjDUVxwgAiEApS94DwBvrqhlxv+DWpiZ+wj8d9ymBQyH3SZaAioG1vU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127437},"type":"module","_from":"file:glubean-grpc-0.9.5.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/e52b25007247641b7496c7edbb2635d7/glubean-grpc-0.9.5.tgz","_integrity":"sha512-xb1WZraRyeMwb2sVkvlyP6hitIzFCF9S9JoyqIJ5wLqsccmu2hlMS5/uKj8EKPVYB1mt1FOMcBA6DIL1HNkR7A==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.9.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.9.5","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.9.5_1783138030981_0.33561011035584465","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@glubean/grpc","version":"0.10.0","_id":"@glubean/grpc@0.10.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"8b07ee9be7e68815046934ae1ceec66b7900d8aa","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.0.tgz","fileCount":26,"integrity":"sha512-WdvG2FLSp0A9tI6m+XNXq0AwNC66+Hv0wOXDPqErvcx+O4pdblYvEE1J6kWczRuKIPHq5UxONSukBtSDzu3FdQ==","signatures":[{"sig":"MEYCIQDttY513T3KlyfakUJEEkEK8jeZzZboPI8NeD1d4QE+lwIhALO04h3OFlNz5BUby7GBC30LE8Go8L5kuGJk8xxoGvYZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127440},"type":"module","_from":"file:glubean-grpc-0.10.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/31658f1688e65dd2fc09885d898ba547/glubean-grpc-0.10.0.tgz","_integrity":"sha512-WdvG2FLSp0A9tI6m+XNXq0AwNC66+Hv0wOXDPqErvcx+O4pdblYvEE1J6kWczRuKIPHq5UxONSukBtSDzu3FdQ==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.0_1783395388340_0.11629478205817523","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@glubean/grpc","version":"0.10.1","_id":"@glubean/grpc@0.10.1","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"efaa0e017434d425bcc084866549e9945e2e5256","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.1.tgz","fileCount":26,"integrity":"sha512-vL9PfLV8UFeMvF2TCe5kWRNqcQWcv+b6jRJNsCDoOZ3lSPDByzyEYysjBeMoNLb28LHbaU6TBNhGX7njrLkwag==","signatures":[{"sig":"MEQCIASyArxacR0VtCCHO49+ZFKcKv5QmsoJFA/E8KzXTOHaAiBjApZJH6fYKw5RGszU6aNWB0klKi2hRXJu4gfg3zsocQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127440},"type":"module","_from":"file:glubean-grpc-0.10.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/6639a99cec96bf671cb34ad21043d7f7/glubean-grpc-0.10.1.tgz","_integrity":"sha512-vL9PfLV8UFeMvF2TCe5kWRNqcQWcv+b6jRJNsCDoOZ3lSPDByzyEYysjBeMoNLb28LHbaU6TBNhGX7njrLkwag==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.1","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.1_1783570589098_0.3148433614429633","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@glubean/grpc","version":"0.10.2","_id":"@glubean/grpc@0.10.2","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"aac599662fc48aaea0fff23329306c4d8af293fe","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.2.tgz","fileCount":26,"integrity":"sha512-beo8//jP8U8QpwTJmMmAGt7LeSOzT6tU+kuONRVAxsQ+nIyPQK4gSOWr1U4EfirW1bDrR83aaUP0K4lT29E+ag==","signatures":[{"sig":"MEUCIQDXKxx2NWCrABz0hTmNvE6Cn6FHa2rmVLzUS/6lvV8dFgIgUqcYoAedAgF7bG6QagrwUI6UuODJ3XVC5Edc49kpwYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127440},"type":"module","_from":"file:glubean-grpc-0.10.2.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/private/var/folders/zn/65yn1ht53lq0_9z8xdlg_4bm0000gn/T/1d62bb15750bc1bdf897be269e1b0fda/glubean-grpc-0.10.2.tgz","_integrity":"sha512-beo8//jP8U8QpwTJmMmAGt7LeSOzT6tU+kuONRVAxsQ+nIyPQK4gSOWr1U4EfirW1bDrR83aaUP0K4lT29E+ag==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"11.11.0","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"24.14.1","dependencies":{"@glubean/sdk":"0.10.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.2","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.2_1783678194696_0.6710511561358958","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@glubean/grpc","version":"0.10.3","_id":"@glubean/grpc@0.10.3","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"e8c74db8caaaa58d0972323977c1c8f6555526aa","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.3.tgz","fileCount":26,"integrity":"sha512-ykUNvBTK5cc12IQBQlxeODzzaNJPNKCT0IMPEGOkk+QPX1CjELTCAfqJuUycO8UnsTMvXbAMdZdRLohsFSnFaw==","signatures":[{"sig":"MEQCICu5DeENxMokhr22gXigyTUmX/TiV2SkQoLjdacGUcUzAiA132DzzCM7uFpjybSrhlD9bTDdvU/LzLuH6//HZLzCOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127440},"type":"module","_from":"file:glubean-grpc-0.10.3.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/0661508a845fe4211e0a63b56094b7f0/glubean-grpc-0.10.3.tgz","_integrity":"sha512-ykUNvBTK5cc12IQBQlxeODzzaNJPNKCT0IMPEGOkk+QPX1CjELTCAfqJuUycO8UnsTMvXbAMdZdRLohsFSnFaw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.3","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.3_1783729416105_0.7691450466940961","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@glubean/grpc","version":"0.10.4","_id":"@glubean/grpc@0.10.4","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"bc4ce44d8da63041f11ac8996eff2cb516ab1289","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.4.tgz","fileCount":26,"integrity":"sha512-FbCso19x419k5qPqWH9jcXTUXjYgqXYY0YEuUaxMbc2o9IrGcYeM5Pjgu9gGPF/fww6F6FBHJiO9luX4vy7SOA==","signatures":[{"sig":"MEYCIQCmhllPR7QXGaKTFKlcu25HTsmq3TsQTh4zITFEa2n3EgIhAML7szUKpNUfNG9DkP+Ym7EdSMIe1ZJnfyfz/nNlThf3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127445},"type":"module","_from":"file:glubean-grpc-0.10.4.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/668102da36b95c3d2e9cccc53eb3e575/glubean-grpc-0.10.4.tgz","_integrity":"sha512-FbCso19x419k5qPqWH9jcXTUXjYgqXYY0YEuUaxMbc2o9IrGcYeM5Pjgu9gGPF/fww6F6FBHJiO9luX4vy7SOA==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.4","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.4_1784281406577_0.7809289978320828","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@glubean/grpc","version":"0.10.5","_id":"@glubean/grpc@0.10.5","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"a2ae4b43e39c8f99713a49ae2b1d1d979e2d6ca4","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.5.tgz","fileCount":26,"integrity":"sha512-N1uZFRQfB4zbW+g9hzJN7yA6qh1D3CHQcjcHZe0V8bD6g39eSfPtKjOjPEKgoa9+7BP2CRLKAl1Ot6lWLhIkuQ==","signatures":[{"sig":"MEUCIA0bYQxNIU5v73GX3kby3Pwp8TT0KuQzwY2aovGKskscAiEAgzGfVA9dSYam/qjCdyMXTGCxsjoY1Gtuk5vY9lxOFiM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127445},"type":"module","_from":"file:glubean-grpc-0.10.5.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/becb85907f5abe379cecb7b5e3f5f77e/glubean-grpc-0.10.5.tgz","_integrity":"sha512-N1uZFRQfB4zbW+g9hzJN7yA6qh1D3CHQcjcHZe0V8bD6g39eSfPtKjOjPEKgoa9+7BP2CRLKAl1Ot6lWLhIkuQ==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.5","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.5_1784287375025_0.8739917468141096","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"@glubean/grpc","version":"0.10.6","_id":"@glubean/grpc@0.10.6","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"fd360652830906b49450673d8bbf22c797e3e691","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.6.tgz","fileCount":26,"integrity":"sha512-+XLej2+pfkpqBKVvtaiH+d1s6Ydsa4J1bnHWAWROgqlOpdjYlnPD/5P9XIkQR0HjlhMJrV0ZYwMFALpGq6FyMw==","signatures":[{"sig":"MEYCIQDdfpf4UMgklWlN+76LVo8aSWn6JmCAZzJyh7TZIsiXBQIhALW6jff7bGJ5KzJahbcnsBb0CzOf+bKkGWDCyFYALp1Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127445},"type":"module","_from":"file:glubean-grpc-0.10.6.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/ae476bfa01af8e5f9e62e02d0086f644/glubean-grpc-0.10.6.tgz","_integrity":"sha512-+XLej2+pfkpqBKVvtaiH+d1s6Ydsa4J1bnHWAWROgqlOpdjYlnPD/5P9XIkQR0HjlhMJrV0ZYwMFALpGq6FyMw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.6","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.6_1784294198888_0.004459224199337308","host":"s3://npm-registry-packages-npm-production"}},"0.10.7":{"name":"@glubean/grpc","version":"0.10.7","_id":"@glubean/grpc@0.10.7","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"7b830f05027fe357fc5ae16a9432eb735e0ef997","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.7.tgz","fileCount":26,"integrity":"sha512-kr/BbMG8fCCWcCZCsqTeSGdjSCqgzdTU37v2pOq1gtB6AkMV6k9dMKldX6sGX+hAcHYnDzsJiOwK76iGpizggg==","signatures":[{"sig":"MEUCIQDF2giFlqh6+psp5e5PL47uYajixj+0aDwP4zmIzECi/wIgbquYgVpDl8pzAhC0fGFdtChAnZEPaq5gwo8zI9nKKP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127445},"type":"module","_from":"file:glubean-grpc-0.10.7.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/128b132d011f982877709b8a01945e79/glubean-grpc-0.10.7.tgz","_integrity":"sha512-kr/BbMG8fCCWcCZCsqTeSGdjSCqgzdTU37v2pOq1gtB6AkMV6k9dMKldX6sGX+hAcHYnDzsJiOwK76iGpizggg==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.7","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.7_1784331916449_0.4008862411098044","host":"s3://npm-registry-packages-npm-production"}},"0.10.8":{"name":"@glubean/grpc","version":"0.10.8","_id":"@glubean/grpc@0.10.8","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"d38a0688d8509157a6163a0100e11e41e7ee3d7c","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.10.8.tgz","fileCount":26,"integrity":"sha512-Nzn3Rdx8MPbA7v/6UEyO16BDHzLR7reap3LppH8CgZTASRX3bANHKylkMdC5slnvp3YmYtdLwGr2LX4FP5je1A==","signatures":[{"sig":"MEYCIQCxTeYQxZKNECBSwRClCZiouNxH6TlV85R1wcFr1ovjKQIhAK5r/vEKN9BX1H/U5O2g3bsMpqCNV57Rh2yYuKVX6cY2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127445},"type":"module","_from":"file:glubean-grpc-0.10.8.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/777e3db7820e8ad4e83c79475e8f5fc5/glubean-grpc-0.10.8.tgz","_integrity":"sha512-Nzn3Rdx8MPbA7v/6UEyO16BDHzLR7reap3LppH8CgZTASRX3bANHKylkMdC5slnvp3YmYtdLwGr2LX4FP5je1A==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.10.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.10.8","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.10.8_1784332867125_0.15148492129145663","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@glubean/grpc","version":"0.11.0","license":"Apache-2.0","_id":"@glubean/grpc@0.11.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"bc12933131d0380619b47fb102ec5152c5cfe6a9","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.11.0.tgz","fileCount":28,"integrity":"sha512-1dEhw5Tc7+oQvjEtoqp3v6rBeDg1/qtDCSXT0Hjmh7kPbc5WJFyZ5Zurvp1in57CbcHJnDlIZJalktm5xSY88w==","signatures":[{"sig":"MEUCIQCii5KBSGDCla7V5hQ5BpdxJQfRaDkx/67tI13YQIvUBAIgCEwij2qmA6Dc7VmeKL0xKWhI/76r95VxiZAB+3rcGHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138974},"type":"module","_from":"file:glubean-grpc-0.11.0.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/f66fdd15c9035827dd9f6e0ba27464a9/glubean-grpc-0.11.0.tgz","_integrity":"sha512-1dEhw5Tc7+oQvjEtoqp3v6rBeDg1/qtDCSXT0Hjmh7kPbc5WJFyZ5Zurvp1in57CbcHJnDlIZJalktm5xSY88w==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.11.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.11.0_1785828292921_0.4296564290427416","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@glubean/grpc","version":"0.12.0","license":"Apache-2.0","_id":"@glubean/grpc@0.12.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"994656fb0f85e6e952c0ccd6bfcf36173973a438","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.12.0.tgz","fileCount":28,"integrity":"sha512-1PpJDR2bodkTdNDjqjMxlRFq0Rm8cTdcnFoTk4ls4bNMpi2411zJTNP3tAoNw46GjX/vHJU45LWCYSLRapeqig==","signatures":[{"sig":"MEQCIGJH3jpE04XpncCyd1ezAFoxWUSUvHPCFzuBOnfVW8hvAiAgHmlPYQu0zIHcfDmJxHk3Sx2OJSA2fXVCmO8k23rlyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138974},"type":"module","_from":"file:glubean-grpc-0.12.0.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/7e403a045d449f6bcbedd13a7f06403d/glubean-grpc-0.12.0.tgz","_integrity":"sha512-1PpJDR2bodkTdNDjqjMxlRFq0Rm8cTdcnFoTk4ls4bNMpi2411zJTNP3tAoNw46GjX/vHJU45LWCYSLRapeqig==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.12.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.12.0_1785848680181_0.8332610718784363","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@glubean/grpc","version":"0.13.0","license":"Apache-2.0","_id":"@glubean/grpc@0.13.0","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"homepage":"https://github.com/glubean/glubean#readme","bugs":{"url":"https://github.com/glubean/glubean/issues"},"dist":{"shasum":"295fb967832e346d3d3d32f3b0759b242c3232ea","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.13.0.tgz","fileCount":28,"integrity":"sha512-YMIDESg1Sa8cRDMu3B7DDd3nLDHt05iB1YVWb41zX8LDB3W7w73td58Qhd2XDmCHdjhNBg3ZBBvouzaOCQdeMw==","signatures":[{"sig":"MEYCIQDQg7L0mUXMhJuY7U9YZAtGc6A7em9m59K0wk15hd54hAIhAOnD1cvbWHffvvzboxcue0l2Gykh1NvT0ANpWhGU+iMQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138974},"type":"module","_from":"file:glubean-grpc-0.13.0.tgz","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run && npm run test:types","build":"tsc -p tsconfig.build.json","test:types":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"_resolved":"/tmp/172103b189dc4758c9090266bcb5a6e9/glubean-grpc-0.13.0.tgz","_integrity":"sha512-YMIDESg1Sa8cRDMu3B7DDd3nLDHt05iB1YVWb41zX8LDB3W7w73td58Qhd2XDmCHdjhNBg3ZBBvouzaOCQdeMw==","repository":{"url":"git+https://github.com/glubean/glubean.git","type":"git","directory":"packages/grpc"},"_npmVersion":"10.9.8","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","directories":{},"sideEffects":["./dist/index.js","./dist/contract/index.js"],"_nodeVersion":"22.23.1","dependencies":{"@glubean/sdk":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.8.3","@grpc/grpc-js":"^1.14.4","@glubean/runner":"0.13.0","@grpc/proto-loader":"^0.7.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/grpc_0.13.0_1786672349994_0.48821488642109845","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@glubean/grpc","version":"0.14.0","license":"Apache-2.0","engines":{"node":">=22.19.0"},"type":"module","sideEffects":["./dist/index.js","./dist/contract/index.js"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"@glubean/sdk":"0.14.0"},"peerDependencies":{"@grpc/grpc-js":"^1.12.0","@grpc/proto-loader":"^0.7.0"},"devDependencies":{"@grpc/grpc-js":"^1.14.4","@grpc/proto-loader":"^0.7.0","vitest":"^3.2.6","typescript":"^5.8.3","@glubean/runner":"0.14.0"},"repository":{"type":"git","url":"git+https://github.com/glubean/glubean.git","directory":"packages/grpc"},"scripts":{"build":"tsc -p tsconfig.build.json","test":"vitest run && npm run test:types","test:types":"tsc --noEmit -p tsconfig.json"},"_id":"@glubean/grpc@0.14.0","description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","bugs":{"url":"https://github.com/glubean/glubean/issues"},"homepage":"https://github.com/glubean/glubean#readme","_integrity":"sha512-UNjTWbVUP2S+wslzMAnp3O5g6ZvVPjr0ncewPBr7u1RLxDeGUG0PYIfl9h3RRdol0PX70727NiAiP8fpA+lgHg==","_resolved":"/tmp/1441b6bb5dfc4dc681fc692cbaafc36d/glubean-grpc-0.14.0.tgz","_from":"file:glubean-grpc-0.14.0.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-UNjTWbVUP2S+wslzMAnp3O5g6ZvVPjr0ncewPBr7u1RLxDeGUG0PYIfl9h3RRdol0PX70727NiAiP8fpA+lgHg==","shasum":"4077642b80447da29372b901e0dd07ab57766b12","tarball":"https://registry.npmjs.org/@glubean/grpc/-/grpc-0.14.0.tgz","fileCount":28,"unpackedSize":150835,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC2xc7/XkaTh941/6cYXWJzxumUv2XEY4RVjrBynegLrgIhAIXSETXK1PQBHkn5kkR2hO/uN1kp39eL7aqGoxaJvPfj"}]},"_npmUser":{"name":"peisong","email":"peisong@outlook.sg"},"directories":{},"maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/grpc_0.14.0_1786688732735_0.249718216528654"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T02:22:26.438Z","modified":"2026-08-14T06:25:33.051Z","0.1.1":"2026-03-15T02:22:26.742Z","0.1.2":"2026-03-28T13:57:00.845Z","0.1.3":"2026-03-28T15:15:30.902Z","0.1.4":"2026-04-19T00:19:40.861Z","0.2.1":"2026-04-21T07:21:00.639Z","0.2.2":"2026-04-23T23:43:27.631Z","0.2.3":"2026-04-26T10:47:06.325Z","0.2.4":"2026-04-28T13:22:17.615Z","0.2.5":"2026-06-05T01:17:06.724Z","0.5.0":"2026-06-07T03:49:32.852Z","0.7.0":"2026-06-18T06:58:27.439Z","0.8.0":"2026-06-21T03:17:00.255Z","0.8.1":"2026-06-24T12:33:59.736Z","0.8.4":"2026-07-02T04:27:37.631Z","0.9.0":"2026-07-02T22:51:01.491Z","0.9.1":"2026-07-03T05:37:47.819Z","0.9.2":"2026-07-03T12:23:47.975Z","0.9.3":"2026-07-03T15:37:08.261Z","0.9.4":"2026-07-04T00:54:11.232Z","0.9.5":"2026-07-04T04:07:11.127Z","0.10.0":"2026-07-07T03:36:28.479Z","0.10.1":"2026-07-09T04:16:29.241Z","0.10.2":"2026-07-10T10:09:54.856Z","0.10.3":"2026-07-11T00:23:36.256Z","0.10.4":"2026-07-17T09:43:26.706Z","0.10.5":"2026-07-17T11:22:55.186Z","0.10.6":"2026-07-17T13:16:39.024Z","0.10.7":"2026-07-17T23:45:16.583Z","0.10.8":"2026-07-18T00:01:07.257Z","0.11.0":"2026-08-04T07:24:53.039Z","0.12.0":"2026-08-04T13:04:40.338Z","0.13.0":"2026-08-14T01:52:30.173Z","0.14.0":"2026-08-14T06:25:32.879Z"},"bugs":{"url":"https://github.com/glubean/glubean/issues"},"license":"Apache-2.0","homepage":"https://github.com/glubean/glubean#readme","repository":{"type":"git","url":"git+https://github.com/glubean/glubean.git","directory":"packages/grpc"},"description":"gRPC for [Glubean](https://glubean.dev). This package owns two layers:","maintainers":[{"name":"peisong","email":"peisong@outlook.sg"}],"readme":"# @glubean/grpc\n\ngRPC for [Glubean](https://glubean.dev). This package owns two layers:\n\n- **Contract** — author gRPC API intent as a single artifact (`contract.grpc.with(...)`). Executable spec, agent-readable, fits `contract.flow()` composition. **Recommended for new work.**\n- **Transport plugin** — low-level gRPC client with auto-tracing, used via `configure({ plugins: { ... } })`. Still supported for test-after / exploratory work.\n\n> **v0.2.0 single-package release note:** in earlier drafts, gRPC contract was planned as a separate `@glubean/contract-grpc` package. Decision 2026-04-20: one package per protocol. The package now ships a plugin manifest; install it explicitly from `glubean.setup.ts` to enable `contract.grpc`.\n\n## Install\n\n```bash\nnpm install @glubean/grpc @grpc/grpc-js @grpc/proto-loader\n```\n\n`@grpc/grpc-js` and `@grpc/proto-loader` are peer dependencies.\n\nInstall the contract plugin in your project setup:\n\n```ts\n// glubean.setup.ts\nimport { installPlugin } from \"@glubean/sdk\";\nimport grpcPlugin from \"@glubean/grpc\";\n\nawait installPlugin(grpcPlugin);\n```\n\n---\n\n## Quick Start — Contract\n\n```ts\nimport { contract, configure } from \"@glubean/sdk\";\nimport { grpc, grpcCase } from \"@glubean/grpc\";\nimport { z } from \"zod\";\n\nconst { payment } = configure({\n  plugins: {\n    payment: grpc({\n      proto: \"./protos/payment.proto\",\n      address: \"{{PAYMENT_SERVICE_ADDR}}\",\n      package: \"acme.payment.v1\",\n      service: \"PaymentService\",\n    }),\n  },\n});\n\nconst paymentContracts = contract.grpc.with(\"payment-api\", {\n  client: payment,\n});\n\n// A case's logical input is declared ONCE — as the schema argument to\n// `grpcCase`. TypeScript then types `request` / `metadata` from it, so a key\n// that isn't on the schema is a compile error instead of an `undefined`\n// silently sent in the outgoing message.\nconst happy = grpcCase(z.object({ orderId: z.string(), amount: z.number() }))({\n  description: \"order with valid payment method completes successfully\",\n  // `orderId` / `amount` are inferred from the schema above, never annotated.\n  request: ({ orderId, amount }) => ({ orderId, amount, currency: \"USD\" }),\n  expect: {\n    statusCode: 0, // OK\n    message: { status: \"completed\" },\n  },\n});\n\n// A case with no logical input uses the zero-argument form.\nconst notFound = grpcCase()({\n  description: \"unknown order id returns NOT_FOUND\",\n  request: { orderId: \"does-not-exist\" },\n  expect: {\n    statusCode: 5, // NOT_FOUND\n  },\n});\n\nexport const completePayment = paymentContracts(\"complete-payment\", {\n  target: \"PaymentService/Complete\",\n  description: \"Complete a pending payment by order id + amount\",\n  cases: { happy, notFound },\n});\n```\n\nRun with `glubean run`. Each case becomes a first-class test; failure surfaces structured gRPC status on the trace.\n\n### Cases in a flow\n\nContract cases compose into `contract.flow()` steps — the same artifact serves both single-case and multi-step verification:\n\n```ts\nimport { contract } from \"@glubean/sdk\";\nimport { completePayment } from \"./payment.contract.ts\";\nimport { createOrder, getOrder } from \"./orders.contract.ts\"; // HTTP\n\nexport const checkoutFlow = contract\n  .flow(\"checkout\")\n  .meta({\n    description: \"Create order → complete payment → confirm\",\n    tags: [\"e2e\"],\n  })\n  // Step 1: HTTP — create order\n  .step(createOrder.case(\"happy\"), {\n    out: (_s, res: any) => ({ orderId: res.body.id, amount: res.body.total }),\n  })\n  // Step 2: gRPC — complete payment\n  .step(completePayment.case(\"happy\"), {\n    in: (s: any) => ({ orderId: s.orderId, amount: s.amount }),\n    out: (s, res: any) => ({ ...s, paymentId: res.message.paymentId }),\n  })\n  // Step 3: HTTP — confirm\n  .step(getOrder.case(\"byId\"), {\n    in: (s: any) => ({ id: s.orderId }),\n  });\n```\n\nFlow state threads through via typed `in` / `out` lenses, **across protocols**.\n\n### What you get\n\n- **Case-level lifecycle** — mark cases `deferred` (with reason) or `deprecated` (with replacement hint)\n- **Structured failure classification** — gRPC status codes map to `transient` / `client` / `semantic` / `auth` / `server` kinds; transient codes (1 CANCELLED, 4 DEADLINE_EXCEEDED, 8 RESOURCE_EXHAUSTED, 14 UNAVAILABLE) marked `retryable`\n- **Projection to Markdown** — case inventory with lifecycle markers, via `glubean contracts`\n- **Flow composition** — mix with HTTP / GraphQL cases, same artifact\n- **Scanner + MCP integration** — `glubean scan`, `glubean_extract_contracts` MCP tool, all work unchanged for `contract.grpc.with(...)`\n\n---\n\n## Quick Start — Transport plugin (low-level)\n\nFor quick tests or exploratory work that doesn't need a declared contract:\n\n```ts\nimport { test, configure } from \"@glubean/sdk\";\nimport { grpc } from \"@glubean/grpc\";\n\nconst { users } = configure({\n  plugins: {\n    users: grpc({\n      proto: \"./protos/users.proto\",\n      address: \"{{USER_SERVICE_ADDR}}\",\n      package: \"acme.users.v1\",\n      service: \"UsersService\",\n      metadata: { authorization: \"Bearer {{API_TOKEN}}\" },\n    }),\n  },\n});\n\nexport const getUser = test(\"get-user\", async (ctx) => {\n  const res = await users.call(\"GetUser\", { id: \"u_123\" });\n  ctx.expect(res.status.code).toBe(0);\n  ctx.expect(res.message.user.id).toBe(\"u_123\");\n});\n```\n\n### Standalone (without `configure()`)\n\n```ts\nimport { createGrpcClient } from \"@glubean/grpc\";\n\nconst client = createGrpcClient({\n  proto: \"./protos/billing.proto\",\n  address: \"localhost:50051\",\n  package: \"acme.billing.v1\",\n  service: \"BillingService\",\n});\n\nconst res = await client.call(\"CreateInvoice\", {\n  customer_id: \"cus_123\",\n  amount_cents: 1200,\n});\n\nconsole.log(res.status.code); // 0 = OK\nconsole.log(res.message);     // decoded response\nconsole.log(res.duration);    // ms\n\nclient.close();\n```\n\n---\n\n## API Reference\n\n### Contract\n\n#### `contract.grpc.with(instanceName, defaults?)`\n\nReturns a scoped factory. Direct `contract.grpc(\"id\", spec)` is not supported — use `.with(...)` first.\n\nInstance defaults (`GrpcContractDefaults`):\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `client` | `GrpcClient` | Default client (from `configure({ plugins })`) |\n| `tags` | `string[]` | Tags inherited by all contracts in this instance |\n| `feature` | `string` | Grouping key for projection |\n| `metadata` | `Record<string, string>` | Default metadata for all contracts |\n| `deadlineMs` | `number` | Default deadline |\n| `extensions` | `Extensions` | Projection-level extensions (x-* keys) |\n\n#### `contract.grpc.with(...)(\"contractId\", spec)`\n\nCreates one contract. Spec shape (`GrpcContractSpec`):\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `target` | `string` | Wire target `\"Service/Method\"` — renders as `\"Service.Method\"` in UI |\n| `description` | `string` | Contract-level description |\n| `requestSchema` | `SchemaLike<Req>` | Contract-level request schema (for projection) |\n| `defaultRequest` | `Partial<Req>` | Merged under each case's `request` |\n| `defaultMetadata` | `Record<string, string>` | Merged under each case's `metadata` |\n| `deadlineMs` | `number` | Contract-level deadline |\n| `client` | `GrpcClient` | Override instance client |\n| `cases` | `Record<string, GrpcContractCase>` | Named cases — required |\n\nCase shape (`GrpcContractCase<Req, Res, S>`):\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `description` | `string` | Required — why this case exists |\n| `request` | `Req \\| (state) => Req` | Request message; deep-merged over contract defaults |\n| `metadata` | `Record<string, string> \\| fn` | Per-call metadata |\n| `deadlineMs` | `number` | Per-call deadline override |\n| `expect` | `GrpcContractExpect<Res>` | `statusCode` / `schema` / `message` / `metadata` / `metadataMatch` |\n| `setup` / `teardown` | `(ctx, state?) => Promise<void>` | Lifecycle |\n| `verify` | `(ctx, GrpcCaseResult) => Promise<void>` | Business-logic check after other assertions |\n| `deferred` | `string` | Skip with reason |\n| `deprecated` | `string` | Deprecate with reason |\n| `tags` / `severity` / `requires` / `defaultRun` | — | Standard case metadata |\n\n`expect` fields:\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `statusCode` | `number` | Expected gRPC status code (default: `0` / OK) |\n| `schema` | `SchemaLike<Res>` | Response schema; validated via `ctx.validate` |\n| `message` | `Partial<Res>` | Partial match on response message |\n| `metadata` | `SchemaLike<Record<string, string>>` | Schema for trailing metadata |\n| `metadataMatch` | `Record<string, string>` | Partial match on trailing metadata |\n\n`GrpcCaseResult<Res>` — shape passed to `verify` and flow `out` lens:\n\n| Field | Type |\n|-------|------|\n| `message` | `Res` |\n| `status.code` / `status.details` | `number` / `string` |\n| `responseMetadata` | `Record<string, string>` |\n| `duration` | `number` (ms) |\n\n### Transport\n\n#### `grpc(options)` — Plugin Factory\n\nFor use with `configure({ plugins })`. Supports `{{template}}` placeholders in `address` and `metadata` values, resolved from Glubean vars and secrets.\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `proto` | `string` | Path to `.proto` file |\n| `address` | `string` | Server address (`host:port`), supports `{{VAR}}` |\n| `package` | `string` | Protobuf package name |\n| `service` | `string` | Service name |\n| `metadata` | `Record<string, string>` | Static metadata, supports `{{VAR}}` |\n| `tls` | `boolean` | Use TLS (default: `false`) |\n| `deadlineMs` | `number` | Default deadline in ms (default: `30000`) |\n\n#### `createGrpcClient(options, hooks?)` — Standalone\n\nSame options as above (without template support). Optional `hooks` parameter:\n\n```ts\ncreateGrpcClient(options, {\n  event: (ev) => { /* trace event */ },\n});\n```\n\n#### `client.call(method, request, options?)`\n\nMake a unary RPC call.\n\n```ts\nconst res = await client.call(\"GetUser\", { id: \"u_123\" }, {\n  deadlineMs: 5000,\n  metadata: { \"x-request-id\": \"abc\" },\n});\n```\n\nReturns `GrpcCallResult`:\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `message` | `T` | Decoded response |\n| `status.code` | `number` | gRPC status code (0 = OK) |\n| `status.details` | `string` | Status details |\n| `duration` | `number` | Call duration in ms |\n| `responseMetadata` | `Record<string, string>` | Server response metadata |\n\nErrors don't throw — they return with a non-zero `status.code` for assertion-friendly testing.\n\n#### `client.close()`\n\nClose the underlying gRPC channel.\n\n---\n\n## Custom matchers\n\nInstalling the `@glubean/grpc` plugin manifest from `glubean.setup.ts`\nregisters gRPC matchers onto the shared `ctx.expect()` surface.\n\n```ts\n// Works on GrpcCallResult (transport) and GrpcCaseResult (contract verify / flow out lens)\nctx.expect(res).toHaveGrpcStatus(0);                  // exact code\nctx.expect(res).toHaveGrpcOk();                       // convenience for code 0\nctx.expect(res).toHaveGrpcStatus(5, \"user lookup\");   // with context label\nctx.expect(res).toHaveGrpcMetadata(\"x-request-id\");   // presence\nctx.expect(res).toHaveGrpcMetadata(\"x-tenant\", \"acme\"); // value\nctx.expect(res).not.toHaveGrpcStatus(0);              // negation\n```\n\nAll matchers inherit `.not` negation, `.orFail()` chaining, and soft-by-default\nsemantics from `@glubean/sdk`'s `Expectation`. Types come through\n`CustomMatchers<T>` declaration merging automatically — no user-side\n`declare module` required.\n\n---\n\n## Tracing\n\nEvery RPC call emits a single `trace` event with the full request/response cycle:\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `protocol` | `\"grpc\"` | Protocol discriminator |\n| `target` | `string` | `Service/Method` |\n| `status` | `number` | gRPC status code (0 = OK) |\n| `durationMs` | `number` | Call duration in ms |\n| `ok` | `boolean` | `true` if status is 0 |\n| `service` | `string` | Service name |\n| `method` | `string` | RPC method name |\n| `peer` | `string` | Server address |\n| `request` | `object` | Request payload |\n| `response` | `object` | Response payload (success only) |\n| `metadata` | `object` | Merged request metadata (static + per-call) |\n\nTraces share the same event channel as HTTP — enables unified timeline rendering in the Glubean dashboard and cross-protocol flow inspection.\n\n## Auth\n\nStatic metadata (including auth tokens) is sent with every call:\n\n```ts\ngrpc({\n  // ...\n  metadata: { authorization: \"Bearer {{API_TOKEN}}\" },\n});\n```\n\nPer-call metadata overrides static values:\n\n```ts\nawait client.call(\"GetUser\", { id: \"u_123\" }, {\n  metadata: { authorization: \"Bearer per-call-token\" },\n});\n```\n\nAt the contract layer, metadata merges in this order (right wins):\ninstance `defaults.metadata` < contract `defaultMetadata` < case `metadata` < flow-step `in` lens `metadata`.\n\n---\n\n## Migration: 0.1.x → 0.2.0\n\n**What's new:**\n- Contract adapter shipped inside this package. Install the manifest from `glubean.setup.ts` to enable `contract.grpc.with(...)` — a bare `import \"@glubean/grpc\"` is not enough.\n- Single-package model: no separate `@glubean/contract-grpc` package.\n\n**What's not broken:**\n- Existing `configure({ plugins: { x: grpc({ ... }) } })` usage is unchanged.\n- Existing `createGrpcClient(...)` usage is unchanged.\n- All 0.1.x transport tests still pass without modification.\n\n**Only additive API changes:**\n- `contract.grpc.with(...)` available after calling `installPlugin(grpcManifest)` in `glubean.setup.ts`.\n- Export surface gained contract types (`GrpcContractSpec`, `GrpcContractCase`, etc.).\n\nIf you currently use `@glubean/grpc` only as a transport plugin and do not import `contract.grpc` anywhere, no migration is required.\n\n## Scope\n\n### Phase 1 (shipped)\n\n- Unary RPC calls (contract + transport layers)\n- Status code assertions + schema validation\n- Response metadata match\n- Deadline + metadata merge through contract → instance → case → flow-step\n- gRPC status → FailureKind classification for repair loop\n- Markdown projection (case list + lifecycle markers)\n- Cross-protocol flow composition (HTTP + gRPC verified end-to-end)\n\n### Phase 2 (planned)\n\n- Server / client / bidirectional streaming\n- GraphQL subscription sharing the same streaming case design\n- See `internal/40-discovery/proposals/contract-async-protocol-plugins.md`\n\n### Out of scope (Phase 3+)\n\n- Reflection-based service discovery\n- grpc-gateway / HTTP transcoding projection\n- Buf schema registry integration\n- Generating `.proto` from contract (solvable via annotation passthrough, but deferred — see proposal §7b)\n\n---\n\n## License\n\n[Apache-2.0](./LICENSE)\n","readmeFilename":"README.md"}