{"_id":"@bouncer-protocol/bouncer","_rev":"16-2632b123d21ea9c61618bd1c2ef13202","name":"@bouncer-protocol/bouncer","dist-tags":{"latest":"0.5.11"},"versions":{"0.3.0":{"name":"@bouncer-protocol/bouncer","version":"0.3.0","license":"MIT","_id":"@bouncer-protocol/bouncer@0.3.0","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"1ac6d1a9df5f5c8ba66e2f20562e833e77089321","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.3.0.tgz","fileCount":6,"integrity":"sha512-0UV6JVJNV1xNZFFpVPZesoreolI7h7Kp1OlK7TTKi77Vj9VMQr/ZTE54wvvCW065+CHSPuTZ/orncTe51Uk+Bg==","signatures":[{"sig":"MEYCIQDH7nAE6rrISaETFUoyGHaBxthYFCXDnaz5bSmUqloh2AIhAJGuBf7Ao5zXdiQu5HbeG5lgQBMVn5izHDzy++CEAgzz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97253},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1be5c9b9b4f736dd5cbd183c50d41a493b75b6cb","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.3.0_1774213419712_0.8531500861165033","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bouncer-protocol/bouncer","version":"0.3.1","license":"MIT","_id":"@bouncer-protocol/bouncer@0.3.1","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"3acb42d597defb8a2998620fb73826c2a6fe4f40","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.3.1.tgz","fileCount":6,"integrity":"sha512-DbunhQYBXaxKC3wxNnPdxLsvCMlPFEjPw8xJGMhva2f0KBfZQoqkVOWhfS3bhZa27xsWEviKVYcun/ZFfzxs9Q==","signatures":[{"sig":"MEUCIQD96j5hemjHyESYYjq2qLAj0HAoVrugFoD0gJ5bGJvpxAIgbjsYedslCxR3H6fpRAMM4ODWZLApudJ18wZl6XaFS3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102434},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1be5c9b9b4f736dd5cbd183c50d41a493b75b6cb","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.3.1_1774216192729_0.5945624479422766","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bouncer-protocol/bouncer","version":"0.3.2","license":"MIT","_id":"@bouncer-protocol/bouncer@0.3.2","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"e461f7fb37b63b215a76c7c48ce0fae5033b1393","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.3.2.tgz","fileCount":6,"integrity":"sha512-WDfXTVEi2U6BPqisr4u0tmNM6WKpbreCKpzHB2Fw57CujIGasyNz8ee+npCFGOCazGsAlr6IcQffBO0xW/mHxQ==","signatures":[{"sig":"MEUCIQCJYq97FbLAb6/UsBxB1ZGMV9IBYBasmtmHXDMQBh7AtQIga7K8PeLsOVPX0trrFhHId+dr3X2OfbcPHJh0Hn19zRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106028},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"30de180c51fd9873bdbe0f4f49cb1623dd159a15","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.3.2_1774217279302_0.5971738176571604","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bouncer-protocol/bouncer","version":"0.4.0","license":"MIT","_id":"@bouncer-protocol/bouncer@0.4.0","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"5bce4cea63b3364b0d0e4559e359ec8fbb312bda","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.4.0.tgz","fileCount":6,"integrity":"sha512-pCOAFOk2RxVrT0Vt5muPUqWQku6yvS5+53Zat74Kd7RoY8mE3wgIQeE/nyFRuPSakvwloEJ0bpEyHmWY/nHznA==","signatures":[{"sig":"MEYCIQDlsdRtRqIkjuq7l9XqkKjzgsKnUUEL6ryPKlZk+TqlfgIhAPOPdHo6OCx5BgnXk72cPR+L6AcKbRqGN+685LmicHQz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108497},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"30de180c51fd9873bdbe0f4f49cb1623dd159a15","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.4.0_1774220043942_0.142985549051736","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bouncer-protocol/bouncer","version":"0.5.0","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.0","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"0621f029c6b0a409daa55b5641250025c9b8812b","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.0.tgz","fileCount":6,"integrity":"sha512-5Tqw2e38inw4Bhy7Du4hHex798piJyqFLJrnIt1+F5qcsAfO/v/KqM/cZJUQr7OUWOkqLS5pIgFytSVtqkG2JQ==","signatures":[{"sig":"MEUCIHH9DEB2/waiEmzIdnfr2pm+sOmoSBgfrJnTzbTuhgfGAiEA04BR/m+SvxFHdzs6MxMIKXA+jBdcworOkgvMkWdLSlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120070},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c5f21cbd7c195b19d5fcaaa89a2b511ea76c4fa5","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.0_1774225484914_0.45177572662842724","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@bouncer-protocol/bouncer","version":"0.5.1","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.1","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"e3da98e49a0923446123166f405e3bcb1c03e501","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.1.tgz","fileCount":6,"integrity":"sha512-0SwPuh9iTBz549S7k5uxy8/wr4Q3GCQ+EXs6v+ZNtoumPxLt40GwHdLjBalXxZ0Ctvxo2rOWlQLt/bBDmbKTLg==","signatures":[{"sig":"MEUCIHKmY36aNwT45GDXb2XXcHjX0hlvmee2sRrDrilQvL0/AiEAstA912r40YLC9h7WDeGCaT65kbGFX7JN+3U+uZld6ek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113712},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c5f21cbd7c195b19d5fcaaa89a2b511ea76c4fa5","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.1_1774229330498_0.03843931410388479","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@bouncer-protocol/bouncer","version":"0.5.2","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.2","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"2b535cbdaa906fc28d10679caaa7e8c216eae196","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.2.tgz","fileCount":6,"integrity":"sha512-ynEHJLkDiRUse4XWBsXTxCbWCVrpfxdvDt3IocNUjSY5mA525zLsWrRkA2z2d4oLqFDfevVGcsV9ePrSrQVvHw==","signatures":[{"sig":"MEYCIQDaQgVpG2k8FgVRCAOAdV8mMDvTDp1O7vIX81tM+rtZugIhAOZTb2knIdVCeB2JJLsPycEgN3dGO/t1vv6+DlUz77Q0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114325},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c5f21cbd7c195b19d5fcaaa89a2b511ea76c4fa5","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.2_1774230477912_0.8752206107601508","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@bouncer-protocol/bouncer","version":"0.5.3","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.3","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"5a5062cf5e6b6381ad641b8a36b7348ce6675a49","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.3.tgz","fileCount":6,"integrity":"sha512-WC2bI5c4pqrLgtdFVW9K7iwylPJxgJszrJEGaYRSnvH7MO7KMWEj3GTXr9LXbtutbfaYzRPW1dvWhAbU0ykD9Q==","signatures":[{"sig":"MEQCIBCtvtMJo6e/DpbqPuWcDqBQwPa5aN35xMGjRXXmhiQFAiAgFRUbqzAZCd+lCp4br+EA5VUxfWW2Xumm0ZdjjUfRPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114989},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"52f2012beeae13ae114992b3433d353547a4015d","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.3_1774373007721_0.5970870850622312","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@bouncer-protocol/bouncer","version":"0.5.4","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.4","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"7eba3f4cbf65db1c0e183463fe9dbe5331ee7e9b","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.4.tgz","fileCount":6,"integrity":"sha512-fe+Cz1L+oZs8DLJYnXaSEAuSdeu2tbviliebr/pstyT/lETWuUo150HwPU1ZUaaqHCwM5jJII2y4LfxgT6k80A==","signatures":[{"sig":"MEUCIQDAsolwZ4LblMdomgnTvOZu3ahYOQR8FBPHM8cyOgdADgIgSCPUbCAmlPsIQQR/ve10WzZoo7tRin5kAlFaV+JuTMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119422},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"52f2012beeae13ae114992b3433d353547a4015d","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.4_1774452325596_0.4636906195478141","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@bouncer-protocol/bouncer","version":"0.5.5","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.5","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"d8482c68402b07ceaef4ca011686bc467d661159","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.5.tgz","fileCount":6,"integrity":"sha512-xVmY/Z+svx1DIEiTC6cue8aib7/6rR2GTIx+teEfCpEK9DZUX5qRijDFIEz3uGJIrbCPOy6taXKwNZg6mFs8qw==","signatures":[{"sig":"MEUCIQDd+zSnRwsMLDZykiDlwbTecbJWVo46IpZDhzckxkz8fwIgGz2gHIkJlTep3pcpqvUcoDLJOayRtnSpU3T1n83A65A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128336},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"52f2012beeae13ae114992b3433d353547a4015d","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.5_1774454602450_0.9716552827290525","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@bouncer-protocol/bouncer","version":"0.5.6","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.6","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"8285695d926b2c832424c9838dd8a883ccfba6ac","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.6.tgz","fileCount":6,"integrity":"sha512-L9vsnHz9vvhifoV6s5lnCIfUrb0KPMMXIxHX1U6yx3D6uH+v7U7OGh4B5oZG8GO3plaokhTI0s3wH+1GgwIyqA==","signatures":[{"sig":"MEYCIQDpV980aJKmIdgWgag3+e6LAHlMHkV2yC2pS1VNdU8ONQIhAMpV120Xsfg4lnBCUq5cdVUuHZegs8P7qikkRXnEmlvT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129900},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"52f2012beeae13ae114992b3433d353547a4015d","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.6_1774467834777_0.34921975744200817","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@bouncer-protocol/bouncer","version":"0.5.7","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.7","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"60791a0a5a5179e538a5d59db251037f144070b8","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.7.tgz","fileCount":6,"integrity":"sha512-6DMl43I3/JsZ0PreQzTcoCxzxPoggJpua2F7q+TsESObpsn2axnTcYK9yYGYo66vMwRGY/hMd+76iBjgtzfjFQ==","signatures":[{"sig":"MEQCIC6i+wdAjMxLtBkfVPEUmTM58Th5Itj+o0L2BI9++H3HAiBdOQm0XkML6N6mNL5BhY5dksT0UJYO7C2vhZbLchVn2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125919},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"52134da75390cf13d4e383ebb63f897b2f178da9","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.7_1774469103610_0.1822815834510103","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@bouncer-protocol/bouncer","version":"0.5.8","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.8","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"064ef0b1058d1d7946f8c1a82b416279c1985100","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.8.tgz","fileCount":6,"integrity":"sha512-aQFAgohEYMjE7cI/BTYI3hUeFVHOKu90FByg8gOhGDMte9Tq5EfWCngECQKh9LN9EHw/G+73pgraoixxjmcteQ==","signatures":[{"sig":"MEYCIQDjZqsdQj8qfbVNb9GMocJl4mxA8mej2j0tX0H1rQOB4AIhAN8bq1JDNHzOaPuCQnC31hivjiGXNb3Ht3dbaisoSkWT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127199},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"377b2223b1ec8b6378ae0c747a4f27bca2b2da97","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.8_1774475641410_0.9612600926366384","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@bouncer-protocol/bouncer","version":"0.5.9","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.9","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"18f254a027c90b5f41946f4b4eb26ffb6d6e31ef","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.9.tgz","fileCount":6,"integrity":"sha512-csa4CWK6SE3jgxJIsi6T682tJ9idh/0cqKQMj5kXqPhQtTKmbu7vvz+z22pqjtjqjmYGZU3BCwdNJ7iS6aG7wA==","signatures":[{"sig":"MEUCIQDvvTw03IG1CrbN4o3hE7B0u90hRmlWw/L8AGnd3y+oYQIgLhiRCUgNweqVr7tvzqxuieAzKuzh8oGj3CesGTf99/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141709},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"6352459d6b3c48c6f5d4283199e9f7cdaab0964d","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.9_1774811537128_0.08467332283234508","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@bouncer-protocol/bouncer","version":"0.5.10","license":"MIT","_id":"@bouncer-protocol/bouncer@0.5.10","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"homepage":"https://github.com/camburley/bouncer#readme","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"dist":{"shasum":"175323372bf03d212d54aee4f245f02df4f57e7b","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.10.tgz","fileCount":6,"integrity":"sha512-xhUedmya/YhNXTUPNePFhcBcgRBXRIfujHfSvFQu6QntVqykwcLHbCdfxobeX1uc1lWIvzEQF4bGFv5EgJOC9Q==","signatures":[{"sig":"MEQCIH1W0RVhfEWqNRVPrUF41aya2oJVqLZvtF48sBasABARAiAXFzz4rtNUDbgoV3zLgW1o1wg3M/WVV+t93M2WlvmlVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141710},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f1f2bca1763b11cfa28d998680c07948c8db7e70","scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"openclaw":{"channel":{"id":"bouncer","label":"Bouncer Protocol","order":90,"docsPath":"/channels/bouncer","selectionLabel":"Bouncer Protocol (Agent Negotiation)"},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/camburley/bouncer.git","type":"git","directory":"apps/openclaw-plugin"},"_npmVersion":"10.9.4","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","openclaw":"*","@types/ws":"^8.5.0","typescript":"^5.7.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bouncer_0.5.10_1774829648034_0.3088583774215814","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"@bouncer-protocol/bouncer","version":"0.5.11","type":"module","description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","main":"./dist/index.js","types":"./dist/index.d.ts","openclaw":{"extensions":["./dist/index.js"],"channel":{"id":"bouncer","label":"Bouncer Protocol","selectionLabel":"Bouncer Protocol (Agent Negotiation)","docsPath":"/channels/bouncer","order":90},"install":{"npmSpec":"@bouncer-protocol/bouncer","localPath":"apps/openclaw-plugin","defaultChoice":"local"}},"scripts":{"build":"tsup","dev":"tsup --watch"},"dependencies":{"ws":"^8.18.0"},"devDependencies":{"openclaw":"*","tsup":"^8.5.1","typescript":"^5.7.0","@types/ws":"^8.5.0"},"peerDependencies":{"openclaw":">=2025.0.0"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/camburley/bouncer.git","directory":"apps/openclaw-plugin"},"_id":"@bouncer-protocol/bouncer@0.5.11","gitHead":"820ca9bb9cc227d5677e4eaa1039073d0ae1b461","bugs":{"url":"https://github.com/camburley/bouncer/issues"},"homepage":"https://github.com/camburley/bouncer#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-PYpYubpZkvPXP4e9oGdxm1fvjynJsYPq8+X8ZbfCh12QrRINS2VssIM0MjzteuPL6qVBqdFz4lsNIUBaHUaMfw==","shasum":"d190f53b052867aea46335551a4f90897a0ecc44","tarball":"https://registry.npmjs.org/@bouncer-protocol/bouncer/-/bouncer-0.5.11.tgz","fileCount":6,"unpackedSize":141455,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEDzI+hHBMm6HnVS6WVcGnyWsKD68yQ/O5vTPUr9lmEwAiBB2eaZwWTaqW9BJ0NpECDDmM5pvUCanPDnWXNfxojBdg=="}]},"_npmUser":{"name":"bob-burley","email":"bob@burley.ai"},"directories":{},"maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bouncer_0.5.11_1774831660798_0.8484431614651045"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-22T21:03:39.592Z","modified":"2026-03-30T00:47:41.106Z","0.3.0":"2026-03-22T21:03:39.866Z","0.3.1":"2026-03-22T21:49:52.880Z","0.3.2":"2026-03-22T22:07:59.446Z","0.4.0":"2026-03-22T22:54:04.114Z","0.5.0":"2026-03-23T00:24:45.051Z","0.5.1":"2026-03-23T01:28:50.645Z","0.5.2":"2026-03-23T01:47:58.042Z","0.5.3":"2026-03-24T17:23:27.861Z","0.5.4":"2026-03-25T15:25:25.735Z","0.5.5":"2026-03-25T16:03:22.602Z","0.5.6":"2026-03-25T19:43:54.922Z","0.5.7":"2026-03-25T20:05:03.758Z","0.5.8":"2026-03-25T21:54:01.557Z","0.5.9":"2026-03-29T19:12:17.291Z","0.5.10":"2026-03-30T00:14:08.178Z","0.5.11":"2026-03-30T00:47:40.962Z"},"bugs":{"url":"https://github.com/camburley/bouncer/issues"},"license":"MIT","homepage":"https://github.com/camburley/bouncer#readme","repository":{"type":"git","url":"git+https://github.com/camburley/bouncer.git","directory":"apps/openclaw-plugin"},"description":"OpenClaw channel plugin for the Bouncer Protocol — bridges agent negotiations over WebSocket","maintainers":[{"name":"bob-burley","email":"bob@burley.ai"}],"readme":"# @openclaw/bouncer\n\nOpenClaw channel plugin for the Bouncer Protocol. Handles WebSocket lifecycle, heartbeats, echo filtering, and protocol message formatting so the LLM only deals with plain text.\n\n## How It Works\n\nThe plugin registers as an OpenClaw channel. Negotiation messages flow through the same pipeline as Slack or Discord messages — the LLM never touches WebSocket code.\n\n**Bouncer role (receives offers):**\n- Plugin connects to the lobby WebSocket on startup\n- Auto-accepts incoming negotiation requests\n- Routes messages from the other agent to the LLM\n- Parses the LLM's plain text response into protocol messages (`[ACCEPT]`, `[WALK]`, `[TERMS]{...}`, etc.)\n\n**Brand role (sends offers):**\n- Registers tools: `bouncer_browse`, `bouncer_profile`, `bouncer_offer`\n- The LLM uses these tools to find a bouncer and submit an offer\n- Once accepted, the plugin connects to the negotiation room and routes messages\n\n## Installation\n\n```bash\n# From the bouncer-protocol monorepo\ncd apps/openclaw-plugin\npnpm build\n\n# Install into OpenClaw (local link)\nopenclaw plugins install -l /path/to/bouncer-protocol/apps/openclaw-plugin\nopenclaw plugins enable bouncer\n```\n\n## Configuration\n\nAdd to `~/.openclaw/openclaw.json`:\n\n```json\n{\n  \"channels\": {\n    \"bouncer\": {\n      \"enabled\": true,\n      \"role\": \"bouncer\",\n      \"apiUrl\": \"https://api.bouncer.cash\",\n      \"apiKey\": \"bsk_your_jwt_here\",\n      \"agentId\": \"your-agent-uuid\",\n      \"autoAccept\": true\n    }\n  },\n  \"plugins\": {\n    \"entries\": {\n      \"bouncer\": { \"enabled\": true }\n    }\n  },\n  \"bindings\": [\n    { \"agentId\": \"bob\", \"match\": { \"channel\": \"bouncer\" } }\n  ]\n}\n```\n\nFor brand agents, set `\"role\": \"brand\"` and use a `brk_` API key.\n\n## What This Solves\n\nWithout the plugin, LLMs must manage their own WebSocket connections — writing scripts, handling heartbeats, filtering echoes, formatting JSON. This fails on smaller models.\n\nWith the plugin, the LLM just writes text like \"I can offer 15% off plus free shipping\" and the plugin handles everything else. Works with any model.\n","readmeFilename":"README.md"}