{"_id":"@0xkobold/pi-gateway","_rev":"9-79b8a039c7d1358cb041c5e301e042c5","name":"@0xkobold/pi-gateway","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@0xkobold/pi-gateway","version":"0.1.0","keywords":["pi-package"],"_id":"@0xkobold/pi-gateway@0.1.0","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"a24412cc142b5ae92e28922f7b9559edd2a307bb","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.1.0.tgz","fileCount":7,"integrity":"sha512-bx3tcSd8BCxRO2fpsSs9PaFM4jKK2liX77B6yrwJl9zuZClYTXJlFCozSK2eUyFkupACCnCjsdz84TRQ/7p0BA==","signatures":[{"sig":"MEQCIGnq5sXjplY9w++UDbv4DG1fJBagugn1gYT+ZSQJap54AiB0HOD31UGWV8xMiRCTIcFb6iSZIsDJ/fFhoTP0DdOv9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80622},"type":"module","gitHead":"18bfb545a60cef62413f093fd50e16119f1a0674","scripts":{"demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","client":"npx tsx tests/client-demo.ts"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"_npmVersion":"10.9.2","description":"HTTP/WebSocket gateway for pi agent - expose pi to external clients","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","typescript":"^6.0.2","@types/node":"^20.19.37"},"peerDependencies":{"@sinclair/typebox":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.1.0_1774312246111_0.43745744274532505","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@0xkobold/pi-gateway","version":"0.2.0","keywords":["pi-package","gateway","messaging","hermes"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.2.0","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{"extensions":["./dist/index.ts"]},"dist":{"shasum":"33d9272de65ffffcdce2ad40f49e1c2e0bd7fe8d","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.2.0.tgz","fileCount":18,"integrity":"sha512-wyL+3LMgzi9kvHF7IO5M4Ya6mOSUSOV1R2OCXb2bLik77R96t5wxUFghwNrxbKSBUU1jvUPXsb/26Ot5YdBU5w==","signatures":[{"sig":"MEYCIQCibg81knJWD7uqNBgedjZluW5YCOEljNoPrJdypdseTwIhAP9g0cQxevwAaf94vVGhuwKSWZOk1VSXZR88B2PluOEP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205848},"main":"./dist/index.ts","type":"module","exports":{".":{"import":"./dist/index.ts"},"./adapters":{"import":"./dist/adapters/discord.ts"},"./security":{"import":"./dist/security/auth.ts"},"./sessions":{"import":"./dist/sessions/store.ts"}},"gitHead":"ee4dc602e8dc8f789d764ea41703ad9266f81410","scripts":{"test":"bun test","build":"echo 'Using bun' && exit 0"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"9.2.0","description":"Hermes-style messaging gateway for pi-coding-agent","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.18.0","zod":"^3.25.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.2.0","@types/bun":"^1.2.0","@types/node":"^20.19.37"},"peerDependencies":{"@sinclair/typebox":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.2.0_1774355388977_0.5745888099817651","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@0xkobold/pi-gateway","version":"0.3.0","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.3.0","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"efb272623f4b0a9d529b6a17cf5fd9bbec65e5f0","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.3.0.tgz","fileCount":61,"integrity":"sha512-mf2tITxZE+mF7Htte0s9XcrQHBZS7N7LoxaZ/6amaXfx1AoT4FXSO4wtA60s7yO3wNnZcoxY6RNY5+pOXPLdAg==","signatures":[{"sig":"MEUCIFIHEGVXDbxoKlWH4JG3trv7W/LIS5XIj5ZI+9SDnLYEAiEAjHjqNn9mGlblBq5jmMkzZ8n+71QWmZXpBl9hMVEgaXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317810},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"231b21192f631aecba0b2a82ea9068f3dcca0121","scripts":{"dev":"tsc --watch","demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","build":"tsc","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"11.6.2","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","directories":{},"_nodeVersion":"25.1.0","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/node":"^20.19.37"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.3.0_1775584628769_0.5564029631221672","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@0xkobold/pi-gateway","version":"0.3.1","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.3.1","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{},"dist":{"shasum":"fc1b849f3131d1a0a0f331ab6cbde967fc97c1bd","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.3.1.tgz","fileCount":61,"integrity":"sha512-QRT+n+voSEpHXVRfV934Zxfpi+Dc6MRQk9ZnGKESt7MdBIENVbYU2+0vGzkV3a5g8J4R8v7d8JPfVsi0cKu3Qg==","signatures":[{"sig":"MEQCIG4CN3/7203+M9spnaH5efY7+b0+sc51qBgkATiJQ/6UAiBivVXe4G3fmaRCCUDtLLemUWC788JA0+q3b2iY51uYYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317757},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"231b21192f631aecba0b2a82ea9068f3dcca0121","scripts":{"dev":"tsc --watch","demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","build":"tsc","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"11.6.2","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","directories":{},"_nodeVersion":"25.1.0","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/node":"^20.19.37"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.3.1_1775585999295_0.22379099200423092","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@0xkobold/pi-gateway","version":"0.4.0","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.4.0","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"f128b2fa6efef3306b704d9dc2f8e9acb7f502cd","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.4.0.tgz","fileCount":61,"integrity":"sha512-5M6N4Xa0kZFo1N04vHk38/syfweQEMMoq8rTuSkDF9oEoTwb8erqUKvhTCC91AUt0dJg6ROT+w8OD96qTnC55Q==","signatures":[{"sig":"MEUCIQDHkQ7ccMQOWfI2XTJROgskL4kzXE9c6SbnZIMZtlJNKwIgBWIGyhsWGZEktOURwjcNL1Jrs6OmcSi9no4Qn0jBB60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"231b21192f631aecba0b2a82ea9068f3dcca0121","scripts":{"dev":"tsc --watch","demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","build":"tsc","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"11.6.2","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","directories":{},"_nodeVersion":"25.1.0","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/node":"^20.19.37"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.4.0_1775588795450_0.6239783904376706","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@0xkobold/pi-gateway","version":"0.5.0","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.5.0","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"3a8ffda6d4a1fa1ae3bb668e17d27491f19c906a","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.5.0.tgz","fileCount":65,"integrity":"sha512-Nbvn1kcwT2EYNxniVK24aFiBl5ytadlZ5rDhreGnP6Eleh6QsbnmeAZUBMy2tVjRgYHBEjzjsG0G9Ni99GLpHg==","signatures":[{"sig":"MEYCIQD02xT75mCjdlIPSTRldpBUGnVAxZXA2lKOe/7N5bRiwAIhAJPiCfrlvI5FhbcPrIIa74Ku2ty44m211tID0gmJResJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317754},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"58b98abc6a3d3bdfa7a29a2645349220b9494a0f","scripts":{"dev":"tsc --watch","demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","build":"tsc","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"11.6.2","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","directories":{},"_nodeVersion":"25.1.0","dependencies":{"ws":"^8.18.0","sql.js":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/node":"^20.19.37","@types/sql.js":"^1.4.11"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.5.0_1775599224921_0.5514074843471126","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@0xkobold/pi-gateway","version":"0.5.1","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.5.1","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"ec972460d0ab6bfea31c916b64f5c6da2be0ad56","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.5.1.tgz","fileCount":65,"integrity":"sha512-/fwPYdxe7dY08M2/fXAI+dXY5KIRwp7swzk88JBREQdxZjswv0z3AxfiHkzIjAHXqn6Gp5n8qoiBxEq/RZE/Mg==","signatures":[{"sig":"MEQCIDcpwo2kcNZ1j1LZ/lDfWVvDKoCc4hwAgWRvcXDnotJfAiBUMflJl2JQUpRu/LV+rAN1eIhW8llnaImBV6hiWNmFgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317629},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"58b98abc6a3d3bdfa7a29a2645349220b9494a0f","scripts":{"dev":"tsc --watch","demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","build":"tsc","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"11.6.2","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","directories":{},"_nodeVersion":"25.1.0","dependencies":{"ws":"^8.18.0","sql.js":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/node":"^20.19.37","@types/sql.js":"^1.4.11"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.5.1_1775599499111_0.1540990610489552","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@0xkobold/pi-gateway","version":"0.5.2","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"author":{"name":"0xKobold"},"license":"MIT","_id":"@0xkobold/pi-gateway@0.5.2","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"homepage":"https://github.com/0xKobold/pi-gateway#readme","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"d7fb75ac21a1666ba7e00b10299a326fe19c2f08","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.5.2.tgz","fileCount":66,"integrity":"sha512-zxLvIhs0k4plapAfIBs5ujEBHpnOsFcEyspxtKXK1o34EyaVIdMD5WuRACV/mKklHMiGAsz+jMXozUp0EuN8uA==","signatures":[{"sig":"MEYCIQDXNgDnbsGngSoxKiea7e73kvDGPTrZ8h3ppppgLrrIdAIhAPAxJrgCHhBo7wprHoRQNpHFYTV7jusc3swvIA/iLhpa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":322435},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"58b98abc6a3d3bdfa7a29a2645349220b9494a0f","scripts":{"dev":"tsc --watch","demo":"npx tsx tests/demo-server.ts","test":"npx tsx tests/index.ts","build":"tsc","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"repository":{"url":"git+https://github.com/0xKobold/pi-gateway.git","type":"git"},"_npmVersion":"11.6.2","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","directories":{},"_nodeVersion":"25.1.0","dependencies":{"ws":"^8.18.0","sql.js":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/node":"^20.19.37","@types/sql.js":"^1.4.11"},"peerDependencies":{"@sinclair/typebox":">=0.32.0","@mariozechner/pi-coding-agent":">=0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-gateway_0.5.2_1775599700853_0.29333160880654385","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@0xkobold/pi-gateway","version":"0.6.0","description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","author":{"name":"0xKobold"},"license":"MIT","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./api":{"import":"./dist/api.js","types":"./dist/api.d.ts"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"npx tsx tests/index.ts","demo":"npx tsx tests/demo-server.ts","client":"npx tsx tests/client-demo.ts","prepublishOnly":"rm -rf dist && tsc"},"dependencies":{"sql.js":"^1.14.1","ws":"^8.18.0"},"devDependencies":{"@types/sql.js":"^1.4.11","@types/node":"^20.19.37","@types/ws":"^8.18.1","bun-types":"^1.3.11","tsx":"^4.19.0","typescript":"^6.0.2"},"peerDependencies":{"@mariozechner/pi-coding-agent":">=0.65.0","@sinclair/typebox":">=0.32.0"},"pi":{"extensions":["./dist/index.js"]},"repository":{"type":"git","url":"git+https://github.com/0xKobold/pi-gateway.git"},"gitHead":"74d4772e210a1be747693dda6a85de0615275ffb","_id":"@0xkobold/pi-gateway@0.6.0","bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"homepage":"https://github.com/0xKobold/pi-gateway#readme","_nodeVersion":"25.1.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-NcSuR+46Ro3HZ4V+2BIql0GlwFj3GyeTS+OhsDMUCKOs0BeO832fc6IMFfCkJtbqPCHXWpRkYNQf96oTM1Ldeg==","shasum":"fb391dcf2a85cca117edba7ea061527e4e6f5588","tarball":"https://registry.npmjs.org/@0xkobold/pi-gateway/-/pi-gateway-0.6.0.tgz","fileCount":70,"unpackedSize":338523,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE0AkziWsDiYt+jyH5qIQabT0ye3t9TsygC/sc0zqKT2AiAP+0Skt8dRgd3LuD+IZu/CavzmNFEO8UcRSsIhU6YtIw=="}]},"_npmUser":{"name":"moikapy","email":"warrenckhan@gmail.com"},"directories":{},"maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-gateway_0.6.0_1775739816493_0.3221055177933074"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T00:30:46.009Z","modified":"2026-04-09T13:03:36.758Z","0.1.0":"2026-03-24T00:30:46.249Z","0.2.0":"2026-03-24T12:29:49.152Z","0.3.0":"2026-04-07T17:57:08.913Z","0.3.1":"2026-04-07T18:19:59.473Z","0.4.0":"2026-04-07T19:06:35.676Z","0.5.0":"2026-04-07T22:00:25.072Z","0.5.1":"2026-04-07T22:04:59.291Z","0.5.2":"2026-04-07T22:08:21.014Z","0.6.0":"2026-04-09T13:03:36.633Z"},"bugs":{"url":"https://github.com/0xKobold/pi-gateway/issues"},"author":{"name":"0xKobold"},"license":"MIT","homepage":"https://github.com/0xKobold/pi-gateway#readme","keywords":["pi-package","pi-extension","gateway","messaging","hermes","multi-platform"],"repository":{"type":"git","url":"git+https://github.com/0xKobold/pi-gateway.git"},"description":"Hermes-style messaging gateway for pi - multi-platform agent with sessions, security, and background tasks","maintainers":[{"name":"moikapy","email":"warrenckhan@gmail.com"}],"readme":"# Pi-Gateway\n\nHermes-style messaging gateway for [pi-coding-agent](https://github.com/badlogic/pi-mono) — multi-platform session management, security, and background tasks.\n\n## Installation\n\n```bash\npi install npm:@0xkobold/pi-gateway\n```\n\nOr as part of the meta-extension:\n\n```bash\npi install npm:@0xkobold/pi-kobold\n```\n\n## Features\n\n- **Per-Chat Sessions** — Unique session ID per platform/channel with reset policies\n- **Reset Policies** — Daily (hour-based) and idle (minutes-based) session resets\n- **Session Persistence** — Sessions survive restarts via SQLite (sql.js)\n- **Background Tasks** — Isolated sessions for long-running commands\n- **Security** — Per-platform user allowlists and DM pairing flow\n- **Rate Limiting** — Configurable per-identifier rate limiting\n- **Multi-Platform Adapters** — Discord, Telegram, Slack, WhatsApp, Twitch, WebSocket\n\n## Architecture\n\n```\n┌──────────────────────────────────────────────────────┐\n│                    Pi-Gateway                         │\n├──────────────┬──────────────┬────────────────────────┤\n│  Sessions    │  Security    │  Background Tasks      │\n│  ──────────  │  ──────────  │  ──────────────────   │\n│  • Per-chat  │  • Allowlist │  • Isolated sessions   │\n│  • Reset     │  • Pairing   │  • Progress tracking   │\n│  • Persist   │  • Rate limit│  • Result delivery     │\n├──────────────┴──────────────┴────────────────────────┤\n│              Platform Adapters                        │\n│  Discord · Telegram · Slack · WhatsApp · Twitch      │\n├──────────────────────────────────────────────────────┤\n│              SQLite via sql.js                        │\n└──────────────────────────────────────────────────────┘\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/gateway start [port]` | Start the gateway |\n| `/gateway stop` | Stop the gateway |\n| `/gateway status` | Show status |\n| `/gateway restart` | Restart the gateway |\n| `/gateway pair <code>` | Approve a pairing code |\n| `/gateway allow <platform> <userId>` | Add user to allowlist |\n| `/gateway sessions` | List active sessions |\n| `/gateway tasks` | List background tasks |\n| `/gateway config` | Show configuration |\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `gateway_status` | Check gateway status |\n| `gateway_sessions` | List active sessions |\n| `gateway_background_tasks` | List and manage background tasks |\n| `gateway_pairing` | Generate, list, or approve pairing codes |\n\n## Programmatic API\n\nPi-gateway now exports a programmatic API so it can be started from outside a pi session:\n\n```typescript\nimport { startGateway, stopGateway, isGatewayRunning, getStatus } from '@0xkobold/pi-gateway/api';\n\n// Check if already running\nconst running = await isGatewayRunning(3847);\n\n// Start the gateway\nconst status = await startGateway({ port: 3847, host: '0.0.0.0' });\n\n// Get status\nconst current = getStatus();\n\n// Stop\nawait stopGateway();\n```\n\n| Function | Description |\n|----------|-------------|\n| `startGateway(opts?)` | Start HTTP/WS server, adapters, and cron |\n| `stopGateway()` | Stop all adapters, close server, kill RPC process |\n| `isGatewayRunning(port?)` | Check if a gateway is already running on a port |\n| `getStatus()` | Get current status (running, adapters, clients, sessions) |\n| `getConfig()` | Get current gateway config |\n| `isRunning()` | Check if gateway is running (sync) |\n| `getAdapter(platform)` | Get a platform adapter by name |\n| `getAdapters()` | Get all active adapters |\n| `sendMessage(platform, channelId, content)` | Send a message through a platform adapter |\n| `broadcast(event, data)` | Broadcast to all connected WebSocket clients |\n\n### Start Options\n\n```typescript\ninterface StartGatewayOptions {\n  port?: number;       // Override config port\n  host?: string;      // Override config host\n  noAgent?: boolean;  // Don't spawn pi RPC process (when pi is already running)\n}\n```\n\n## Session Reset Policies\n\n- **idle** — Reset after N minutes of inactivity (default: 1440 = 24h)\n- **daily** — Reset at a specific hour each day (default: 4:00)\n- **both** — Reset on either condition\n\n## Security\n\n### Allowlist Mode\n\nBy default, all users are allowed (`allowAll: true`). To restrict access:\n\n1. Set `allowAll: false` in config\n2. Use pairing codes or `/gateway allow` to grant access\n\n### Pairing Flow\n\n1. User sends a message on a platform\n2. Agent generates a pairing code via `gateway_pairing` (generate)\n3. Admin approves code via `/gateway pair <code>`\n4. User is added to the allowlist\n\n## Configuration\n\nStored at `~/.0xkobold/gateway/config.json`:\n\n```json\n{\n  \"port\": 3847,\n  \"host\": \"localhost\",\n  \"tokens\": [],\n  \"corsOrigins\": [\"*\"],\n  \"enableWebSocket\": true,\n  \"enableHttp\": true,\n  \"security\": {\n    \"allowAll\": true,\n    \"requirePairing\": false\n  },\n  \"sessions\": {\n    \"resetPolicy\": \"idle\",\n    \"dailyHour\": 4,\n    \"idleMinutes\": 1440\n  },\n  \"platforms\": {\n    \"discord\": {\n      \"enabled\": false,\n      \"botToken\": \"\"\n    }\n  }\n}\n```\n\n## Local Storage\n\nData is stored in SQLite via [sql.js](https://github.com/nicolo-ribaudo/nicolo-nicolo/tree/main/nicolo) (WebAssembly) for cross-runtime compatibility (Node.js and Bun):\n\n- `~/.0xkobold/gateway-sessions.db` — Session data\n- `~/.0xkobold/gateway-security.db` — Allowlist, pairing codes, rate limits\n- `~/.0xkobold/gateway-background-tasks.db` — Background task records\n\n## Local Development\n\n```bash\ngit clone https://github.com/0xKobold/pi-gateway\ncd pi-gateway\nnpm install\nnpm run build\npi install ./\n```\n\n## License\n\nMIT","readmeFilename":"README.md"}