{"_id":"@nordbyte/nordrelay","_rev":"45-8d311691e8bba9d11b6848b3439b4acb","name":"@nordbyte/nordrelay","dist-tags":{"latest":"0.9.22"},"versions":{"0.2.1":{"name":"@nordbyte/nordrelay","version":"0.2.1","keywords":["coding-agents","messaging","remote-control","codex","pi","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.2.1","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"4208b7be8ea2039c8fa51be3f58f3d7d9089d8a8","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.2.1.tgz","fileCount":45,"integrity":"sha512-Wclgf5fUN5lcxdeht4cDbr0Kg2HtWXdY/uj/gTEqkbb7UDRbpbkCqiaouD0iNmuRIZed+JmBiCarbE1tONdo9A==","signatures":[{"sig":"MEUCIAuP78KK+/gL3f1t//7H1SWEPUpSTRv81Wfy4IzKJY+qAiEA6EkV81FaG/K8h0QxKI21Ad2NGTuY0a4FtUlUy1ucL+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490499},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"32eb5cb79b405d76323920485f45719681e6dba3","scripts":{"dev":"tsx src/index.ts","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"tsc","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && tsc --noEmit","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","prepublishOnly":"npm run check && npm test && npm run build"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"11.6.2","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.2.1_1778589189878_0.3577023557057668","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@nordbyte/nordrelay","version":"0.3.0","keywords":["coding-agents","messaging","remote-control","codex","pi","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.3.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"520167559a2c2fe7daeb742cd03bd9373a351bec","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.3.0.tgz","fileCount":54,"integrity":"sha512-yvnK9teCY+RffZdqMo1KKnY+xCsNCq0noqcY1Iv+b1+EUstfMdZLh17fe/HT4xcTnb7sOan8onmnhiaUn1CFQg==","signatures":[{"sig":"MEUCIQCbImwzwhwaFvViQUxHuYre122J/SpXi8wwT6zYIonMAwIgIYVM4f0RjANYXTFfddZME+yHIqMjU7e4SXU3iaavwms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643342},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"62610c87de3ba3e6c2c698f8e0e5b47e630b6937","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"tsc","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && tsc --noEmit","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"11.6.2","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.3.0_1778598993844_0.044903812241414265","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@nordbyte/nordrelay","version":"0.3.1","keywords":["coding-agents","messaging","remote-control","codex","pi","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.3.1","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"205a1b2f8c5832a6becf7cbd9ff2ea0ef566e95c","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.3.1.tgz","fileCount":55,"integrity":"sha512-P9O3zdRXYygrvAVQ62Eb9k941u+3asXvcvkf0nSyQKTa7sCv+MJZWBLUVeLM4ZwRVrnH9qT+KGK7CodokmPZIQ==","signatures":[{"sig":"MEUCID28iE3L4syu+5abgRGeTSgM7NC878IDudZCtAiKcHQPAiEAgPm/1qSv3/157TrsSGR696tEhWtclSNod5B4FJHrD1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":690114},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"aa2befa48b80d035ee73408f9f858f15fac2920d","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"tsc","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && tsc --noEmit","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.3.1_1778604723789_0.495873842104112","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@nordbyte/nordrelay","version":"0.4.0","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.4.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"0902545fa6b2fce2d744902d95b85b554a03c73f","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.4.0.tgz","fileCount":75,"integrity":"sha512-pW+RIG7vzEsswZyO6LWTIxUavDWCDmMuXItAlnCdFUKCcHtep5vnN+HKSTZjEIdQw2P/sD60QJVzp0Vy4JM4CQ==","signatures":[{"sig":"MEUCIFhzPM3iq4zkZPVhvG/uyDXfxFrUSRnSMlDZdHgCgINOAiEA2fJe/IRB1CPWUPw744J3V39AqpY4VZ95FITqKuBuvmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1003838},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"4ca77293340f23334b5647bc3a8dc1c310bef640","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"tsc","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && tsc --noEmit","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.140"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.4.0_1778653342492_0.45779188706853025","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@nordbyte/nordrelay","version":"0.4.1","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.4.1","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"6a2d40d65b64646405b96c856c9033a27b63e494","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.4.1.tgz","fileCount":81,"integrity":"sha512-WH/TCEh9iBr9qGle8GilYdl81hDvoM/kCdRRjTWupyAVy14v52RGZk5HukaaniUTzXIxfkJZogVWjBLlbNKVOw==","signatures":[{"sig":"MEUCIESrkr49FerDDpvlSVQrAI9zI4cm/wudtpGBSrPcYC/3AiEAn0uvnaZoXJ5Dpp9qSR//WjhGcqmtb2tNKvehG5jclEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1060303},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"4d64f4f58af8cad4faa73172b027ed02e202f0dc","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"tsc","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && tsc --noEmit","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.140"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.4.1_1778669644726_0.5741675378409155","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@nordbyte/nordrelay","version":"0.5.0","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.5.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"e1a322101621e77930c2fe20901122623f21e423","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.5.0.tgz","fileCount":92,"integrity":"sha512-DZyAdFpxZUZJ4CTxAC2xEXemEWOhJftBsuGmxRSfUpaXgMCoVq1qaPEVa/oaZw41Nw3cDW5ITDnPzaPKlz2VBA==","signatures":[{"sig":"MEYCIQDzXibfHgdR9gfUbPKKwUk+qC3EEDf/Xmv72ROsrSedBgIhANesYYE2LdA303Fip+l1qR27rwQb4v3xvfjJhCjg7uZY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1184946},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"37858965c629deeb3eba07e1f3ebd7ad16046676","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && tsc --noEmit && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.140"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.5.0_1778695352756_0.42937026175927384","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@nordbyte/nordrelay","version":"0.5.1","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.5.1","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"f812910e6f5f64c10e891712fc7a8b6b83fa902f","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.5.1.tgz","fileCount":114,"integrity":"sha512-2HNLjB99ZI2ZK1Gc/WwW8JCFjDDMwR8m1sbDypMrVtxvrIQPvvJ7O+D0BhG0qWWZQvYDXZWswoH3rkO+DxhUxQ==","signatures":[{"sig":"MEUCIDzfh30jrahSNI1AEBr5z1HP0rvHShJYj9MIpAIOY2vOAiEAgFYANcmDSdj45sen47uf+cbwdSKJqaofnOFOZjXS6PU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1233092},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"10525dbf3f1ba4e0b245f64bd6095400102f87c3","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.140"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.5.1_1778744381953_0.7065142950670564","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@nordbyte/nordrelay","version":"0.5.2","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.5.2","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"6de94531dcc34efb8e1fa0453558b61b62a71ceb","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.5.2.tgz","fileCount":114,"integrity":"sha512-7btompPuKXxETwVj60rxWppqBEV+wzf52o1kQrk8hyP5zW5dkAnqUlEYkmAkxuzqwIiaeVu8vprtOjZoqhUvzw==","signatures":[{"sig":"MEUCIQD13YDI7ZQiGf0P89yJm9ARMMdw4abz4rqfOD334GtyYQIgbDwdERQ8LPhbxA4UJZdVssbicoaHyTuB3HcMBy9jjKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1246670},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"a9d97ff31cbd57fbceaecefdd4fb444da5145817","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.140"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.5.2_1778752532215_0.02938781036521232","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@nordbyte/nordrelay","version":"0.6.0","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.6.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"cda0d1a38853f0ee9066f17f2efd79d970b771b6","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.6.0.tgz","fileCount":125,"integrity":"sha512-rW1iW14eWVxM1lYcXpACUuahbfj765dqaDAtNgh/XSpud9XiIRcyu0ZLo5Y7ZGBjfmehfI/xwTEdqhB7tUwJHA==","signatures":[{"sig":"MEYCIQDRyMaY9Hk1fD8dyDqeaLOHtjHeYTdBJYejZCCdslB14gIhAMZWatc3EzkbP0o6FmkLC7+krLoKkxlkTsWBaxQaa6c6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1547306},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"e8f5bcf0ae6671048dcb52ec771f155e7c1b8bec","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.140"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.6.0_1778834322178_0.13857988268780552","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@nordbyte/nordrelay","version":"0.7.0","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.7.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"3e74047163d9324c5afac64f5a7b8d1324b430a7","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.7.0.tgz","fileCount":139,"integrity":"sha512-omLDLr5a3FDS+TmYwBJPDIABbVByYeyQzSk8r7lFErnOT2NYs14fmTkh01XzgXdILJGhsJNaCVIjBtHXEk6FqA==","signatures":[{"sig":"MEUCIQCo1oKQn9JlEIrWwYulKPcgBwWt0DLJ91pa5I7xrvjiyQIgXkqIsrYIbbYp5fa9IvbIHu61gjxChMZ+fdWB4pVJ2+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1715221},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"e23ef080788c1276b128b70d775994bade2433cc","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.7.0_1778842989914_0.7594553462104523","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@nordbyte/nordrelay","version":"0.8.0","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"1d5c5848cfaf9b4be02b3b987eb8072936aaf2a7","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.0.tgz","fileCount":154,"integrity":"sha512-vF5XXLT0YVX2BYs3HksyzAezANx3mfHYz1zjEsB1i0x7C7tNgB+n8Jy/+8ie38sdFFsYSaD4y2/JRMzeFpbkVQ==","signatures":[{"sig":"MEUCIQD+sPthrfNwP1a3m8b/WLGZ/+IWT/9uihXSilJm0pSxFQIgeDho5U73NUayuANvVIsyeFa4ZFULYyN8LOA+HtsYiBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1927598},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"3118574c41bb971da77f887ca0652200d7e85e05","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.0_1778858633433_0.4462972491009849","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@nordbyte/nordrelay","version":"0.8.1","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.1","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"2f8b13059a828bb2fee4a98292d66be597fa22ad","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.1.tgz","fileCount":154,"integrity":"sha512-gxbycYMxRLxMKv+WRyzqwDYMW7p4j3KC383Mkvs9SbK59EZgrQMIeQHRm95+rewOMKDTtrp4s+xnn821SrPLeA==","signatures":[{"sig":"MEUCID5pUq1/pyzxAfzLSVcXyONDTjBel6shfv+qGIlOtkXwAiEAx+GnRCcU6pi9Eap01X+6G4/9s8y6DMNixc46jDuJzEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1931548},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"38411906028b70ca1bb3a505ebc3f1093d533339","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.1_1778862877720_0.3091366849456576","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@nordbyte/nordrelay","version":"0.8.2","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.2","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"9180411d1f1f434ccc809840c7edc0f232792753","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.2.tgz","fileCount":178,"integrity":"sha512-EdoHhmrhYb6pIRV7b3IcW/x9bu9VjFuOevhGB30Qg6USIDmSAp2VfLb5xa/9jP4cIpSs08X2ZbhdY9LMXrmw+g==","signatures":[{"sig":"MEUCIC6q897TfHeQTS5udf58B8sUehoDKJjoPaM4INHilD2VAiEAwar5VuwMt6XH82+fJEzWKpALKh1gMVXo1oFTAR7ip8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1995847},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"799eafc39b98e1b8f0b3630c4382bd6296b3a302","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.2_1778916463845_0.9965205009797555","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@nordbyte/nordrelay","version":"0.8.3","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.3","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"0e1cd15d0b675916636308eb8d55a6187afe2076","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.3.tgz","fileCount":183,"integrity":"sha512-eb3stfllkT48Zzx3XHYLcrF8rh7sEnHhL7RwS8sjKo9jPCVhBsZQBSNLUVnNKQOqZLAz/O7FfouqIemZPq8HQg==","signatures":[{"sig":"MEYCIQDVrJg6NrIJgkqQCdviXWUrhoXrTfTyqmoSuB+qwoRK6QIhAJjcup3CG+XerzWGoSIN/iuBIYslxQhQswh0KOUW33Mq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2093332},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"ae553833b3a5a96b6507783e9f97dcb51566e874","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.3_1778940435622_0.07935480580326248","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@nordbyte/nordrelay","version":"0.8.4","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.4","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"0b9db78da4124df42a40e9a9e32e29ad99b4ea28","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.4.tgz","fileCount":191,"integrity":"sha512-4MWiNWpt3bKwjmLnlt9U+3YDqEet1I5y0bzo5VmfB1LHwceDaZPxAKL2qvAThKEtAONdJCDMEPdq0Byd0mUI+w==","signatures":[{"sig":"MEUCIAuzM9ZKR/06+6fCuYhfLvlJv71P8IFKp1SVGMhV/P32AiEAg/xhTheMeIFyVPJdJHf6sPh0CNg2IdLS8+8Rmza8flI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2201231},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"92a7c14b9f049b32a0e4e51a66baec51003dcc78","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.4_1778956975988_0.353233249164876","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@nordbyte/nordrelay","version":"0.8.5","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.5","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"f7dea78cda3a2636449418b4bdc271637167a867","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.5.tgz","fileCount":195,"integrity":"sha512-uCJfHTS4GOPuNGvB60LXqwFmI9E4NYxcqDiwVwLRHJIJmxJoWnf2Sp2RtuMb+2/UYcOiyzI2gA6tEUfepLkRiQ==","signatures":[{"sig":"MEQCIGs89jXIXgwhog5P+0tNKKX9oA6tvx/8P0jp6j45iCMnAiBWahfA+O38i5at7mIMU4QE1DoMd2x4yVfFHNbLzUl9/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2311064},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"e1a27af224f515fdbecddaeb22dbbf93cdb613af","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.5_1779003068525_0.14857002717753165","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@nordbyte/nordrelay","version":"0.8.6","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.6","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"c9f2c83792ad6af2021ce6fc4f610e345456b82b","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.6.tgz","fileCount":195,"integrity":"sha512-KOISQ7+Dn4AaMHhbs43t1VoY2NEa3AGaVpmI+1faHwhxAIal1rM/iPf/LmqbJM6yYgA0A6A9SNSyle6u6k5seg==","signatures":[{"sig":"MEUCIQDEle8A1gMcl+iu9qhlysNktOfYlAkGulfeLEQd42PGvwIgbYD2QSIGWe43twZ8MuqYzouvrlBtnG4Ka5xvwkh3/WE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2330784},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"2d152ae9f95fdff6f09f86203adb807c84db8867","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.6_1779017738085_0.8398150605640011","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@nordbyte/nordrelay","version":"0.8.7","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.7","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"c11ede2a24fccab5120da1fb04e66597050fbdb9","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.7.tgz","fileCount":195,"integrity":"sha512-SY2sUZer4j/kZf6XMD+uiR/B6OdADzTbfQVKQaCyUszpqiccIvoiTyQqZ3rVEH/brwuqQt5Oi9IQr6OdOhx2Vw==","signatures":[{"sig":"MEUCIQC/ErunRs7tw+XeIWYHE4PFzVVvIUdWCOa73ch+BICwJQIgfdcLLWQdzV51A7QreMQcO6eUlnwpszjJE8q3hslYNc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2340597},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"e7708b7cfc5ca8b745b291ca31857c45ead5ad31","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.7_1779022202003_0.44689396130540304","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"@nordbyte/nordrelay","version":"0.8.8","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.8","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"42f2a8d268200e74df9437c59f6da41532470e4b","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.8.tgz","fileCount":199,"integrity":"sha512-gpOkwKE4NChwNweL393qfJJdRw9MCe4T+RUx089va1byUWD8M9R90hFdmTsiv+h6PnQrENxkVFNzboiPuJIgnA==","signatures":[{"sig":"MEQCIDWsbuxS4rOshJQnjShyUC0Dqt6NDL+rEh/WJ8rZtzL6AiA1wUIkaariGXiB5HrD/tBk55rXE6et7/C/laDafN/GQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2383701},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"699f1ed3959217adcf226aa13a03caa0ae771e14","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.8_1779044547834_0.7971442711407577","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"@nordbyte/nordrelay","version":"0.8.9","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.9","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"b7961be6447409507d3e38c926f69d737b03b832","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.9.tgz","fileCount":216,"integrity":"sha512-eyWabCO6hRT3bdAvSZ+Aee+BHigbd6ckJtJCRePNrV8wr+RluY4h4cbz+a+R3AKuQEXWZ4VSLChvXxi0RIoPtQ==","signatures":[{"sig":"MEUCIHcqww3MFz/H2ZmE9jhUDYskGDcdddrCv+fB3zbIhUsvAiEA64iP8+nDi/0ko76ngWGi9dnPz3X0UMKyzEfLthTgiDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2663737},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"d24129656c7799d175e3f19779a862d0106b6c78","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.9_1779114508801_0.7141327973004294","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"@nordbyte/nordrelay","version":"0.8.10","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.10","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"9d3842a1c5f1aa9c5311259cb1f0a5af355cde50","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.10.tgz","fileCount":219,"integrity":"sha512-4ke4J1sqnNCunUSqZ52eVHwe8F7ZMkY9ram3U4SP2mQdSEdgBaG7/kmWfZflDqFXYtruTojEEZuM+CmLlSQ5zg==","signatures":[{"sig":"MEUCICNXTN9nA4YpRa1y8KWsZEIHMHaWLbMVWuReoo7DZa9jAiEAlZKT+1aUMWwQTrLmHHCkM0T58UghnmFJ/bGCCK2BF2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2777783},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"e8031738c1edb73ca96fbb2a2f5095ea43d19568","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.10_1779131165897_0.9335759281303215","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"@nordbyte/nordrelay","version":"0.8.11","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.8.11","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"404948331fb4a810dae8e435085a88cca321a74f","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.8.11.tgz","fileCount":219,"integrity":"sha512-ofLG8LxoUoZnCGg5W1CaKCIDD0NkdjUUdjcB4ow8Fzmh4ozmu6AHZNoDOKfm/d03L3/NqPEkhUFuSBR4mGzSOw==","signatures":[{"sig":"MEQCIFq/2T7VDqwE3Ob/pN/SsBvgBngtEjGqgXHFnVQAr+eeAiA0qLpkcB7vz6devNlCGzrBT8y+fR328c5JZ21QLygS6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.8.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2820234},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"cded36b9b56157231d2b51139de44c0619c30cb8","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.8.11_1779191621043_0.894952439152815","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@nordbyte/nordrelay","version":"0.9.0","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.0","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"4e98c8d4f8bd8bc8226d0dd2192cff8650426aee","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.0.tgz","fileCount":223,"integrity":"sha512-8VfPjQpmdl+wBZjCF9P3JOuab4de2xG6OLw2g0Ssky6Ucd4h2K20aLaERcGE3T4HnLOeZv7zVjHiuus+oi4icQ==","signatures":[{"sig":"MEUCIQC1NUuBOHpzBbKh2CS0IK83wusRtFyamejTwFhm1OwCfAIgMo1d8iN8qcfk7RxYmLLHmbbXtkj0a+RqgcFTATDcLK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2881176},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"a68fa29a6339256fe7c72b3ff954fcb93fc34017","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.0_1779256960583_0.5701147618939104","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@nordbyte/nordrelay","version":"0.9.1","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.1","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"587a1dbdf16d823711032b2fbeb5ab39dd68f517","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.1.tgz","fileCount":236,"integrity":"sha512-LBWR4yZVr1TwgdF6/xo4ifWnyfiIZM0P4P15+KoBm7msGnvuFCoEqya9GTr2cIQduPVPUzX4bNFQLaE4fx/2LA==","signatures":[{"sig":"MEUCIQDwIHV0lCRzfoDpFZmZHBwkS16REn+UzAFpj3mTXJvNsQIgeu6unAovnPBb0EdkiqS9DtUqL6wjTsVhm37Ir/XNA7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3110971},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"d056ff033324dc778fdf1166a1f98093dfb59c3a","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.1_1779306504933_0.8803818390637606","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@nordbyte/nordrelay","version":"0.9.2","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.2","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"b30ed03cf31e629524c78771a4f7c9f7a2381781","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.2.tgz","fileCount":240,"integrity":"sha512-TY2eFuMemNl3CkTmSRcIh4P0HXxhhMgE5gDu9uYE2ZVJHpwyppQ6LQwGXmDVNkASKhjCgx5HTmNI+wTbwbPcBw==","signatures":[{"sig":"MEYCIQDYn5rStut5evdV9U+YbeH9VTiVVDqZrXo51x4kDmwH8wIhAKpAu3yMHuH5GhwLzY6JU/Wpd3a1PfWq4myMPxIGq5r3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3183938},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"fc8e6b729aadc310539fc3f16fcfb55a89198bbc","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && vitepress dev docs --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && vitepress build docs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm install --no-save --no-package-lock --no-audit --no-fund vitepress@1.6.4","docs:preview":"npm run docs:prepare && vitepress preview docs --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.7","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.2_1779359884138_0.5431198744234988","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@nordbyte/nordrelay","version":"0.9.3","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.3","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"3fb0d239ebebf40d69fa4597c1b1e9511f1da38b","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.3.tgz","fileCount":248,"integrity":"sha512-NYNugNHvCyR78fOb2eE9yHe0sYZcUmCurAM/IpMajhk79jr98yTPKAeMudPwp8PQ9Trn2wIIFpq/jZbvjMOjmQ==","signatures":[{"sig":"MEUCIQDYTGGKmdV3ujzqHGzgZG5PyOVjnB5zy6AYr9+8k7bxlAIgFfLITFIyAs6bEAlrSm5o+HeBnL3il7dJDbDzpLGE0Us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3223841},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"6881760d36995ced34d7c4ddf808d8f4751cb907","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && vitepress dev docs --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && vitepress build docs","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm install --no-save --no-package-lock --no-audit --no-fund vitepress@1.6.4","docs:preview":"npm run docs:prepare && vitepress preview docs --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.3_1779380963433_0.03366445889237468","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@nordbyte/nordrelay","version":"0.9.4","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.4","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"2125136ca1089054f09b7b0c7fcf38ffb67198c4","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.4.tgz","fileCount":253,"integrity":"sha512-KaizA/Mw/XKpNda6EovuZTozgT0atUl3/lDPLylvZXkvgWF46VbKzFOrr88wB88AA0RS48d9F5OPiWTIk4/xag==","signatures":[{"sig":"MEUCIQDyn2/H5YFkKq+F0iG3mvCGFsNS4XESFdJ2y5lPkQENHQIgUQ3GvK/xcToZKcpgP0n7pT2hYJHMYLuGu8bP26/G8Bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3304092},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"0466fe8ccfcc2f8876f5eaae8c38ccfac2661cc0","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && vitepress dev docs --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && vitepress build docs","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm install --no-save --no-package-lock --no-audit --no-fund vitepress@1.6.4","docs:preview":"npm run docs:prepare && vitepress preview docs --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=high"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.4_1779513534280_0.5773496220123697","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@nordbyte/nordrelay","version":"0.9.5","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.5","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"cceb838b93327b16ed89110fa659897364c61d82","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.5.tgz","fileCount":259,"integrity":"sha512-vpKBbXBc/ml8NUVb9NdibYwGn5skoyF/FEqhy47+MdFxYCPMy5PHeoJi8DD84REYluIVYeW4Sfs7HZ4W2rep1g==","signatures":[{"sig":"MEYCIQDl6SreCsZQfdJD2C/TAVbW2MHIOeSXIRQ6QflTgnK9XgIhAMpw1cx76iBCCkZVNqjTtTNkimu2PgaMIqvzjk6LyoRS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3421467},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"cf1d63f5e1bac59d832ef6e75ac74ac0683cb6f1","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.5_1779607170337_0.8422027080748025","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@nordbyte/nordrelay","version":"0.9.6","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.6","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"c37d185e17c81074e2f3828afd6b9364ab6af354","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.6.tgz","fileCount":259,"integrity":"sha512-Fyx42MXq+FnlBbfxZT/8yGPZcLmG6+WCBveIhEX4JiIK/mL+MpHajBsFfEEfnRG8Rqlfcioy2NWUvHFNKlmbzg==","signatures":[{"sig":"MEUCIQDtRANlMG1zVSokiNG115kxSOPyJOkiozgdv/cUwYNWFAIgW+SnfTLsQGP1RPW/n1Y8Zt2DqVhB1wjuLWjc4oo0JFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3429575},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"44b6d788da14321390535cbb5dab1977ade5ca23","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.6_1779639599024_0.7956333665504676","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@nordbyte/nordrelay","version":"0.9.7","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.7","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"2b3f719b7735f0d3124e9f3264727943f6af2e15","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.7.tgz","fileCount":263,"integrity":"sha512-1j8CdONPBxPGvXhlOsGvkf1re/WKfWkdHc9OZA6YzdrWkPL6sTdd6PFeRjPCyIQtrxR0+OviPJcTkGSx5xY84A==","signatures":[{"sig":"MEUCIQCSufYzozmoQ6JJQM7I5KPcxZ/+wqL4ThNNDmoe30qQiAIgdnxqWTDhPYWHCldWSDSwBvV0c+8NQe4QNrmmlEKPx68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3467267},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"5a07e6936d3ea007b79d07f53b738580038d23ee","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.7_1779695730469_0.06685538968234361","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@nordbyte/nordrelay","version":"0.9.8","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.8","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"0cb5cb8e64b62270d1fade07c0c6b6394bb59488","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.8.tgz","fileCount":276,"integrity":"sha512-h9WeUZaDxm5ZCRJQLYCKXvPMKq1KdWeWNrXptr+I+mV3iNHnW1pbvis24MeFnliBIMNRpVIkMjesW/HZIzyReg==","signatures":[{"sig":"MEQCIASf5swC3aeixDQOkNlD2U0wcKw0rByTQ91YHj1NTHXnAiBs79WC97fgVPy7AyykGyCWS1+TPkHwwhrRIjh/wBbwQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3615604},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"0e83fcfbce4371e3c0991333c357737476fcdfb5","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.8_1779709598438_0.5722705483265775","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@nordbyte/nordrelay","version":"0.9.9","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.9","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"557e87c5e3c128fd2f0ba6d0ebe845fdc3e32147","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.9.tgz","fileCount":287,"integrity":"sha512-aMPZog6Mm+iGRSqJb0mlKjjn8peqmFC7Hq+F1POSgFJrfzPeCBU/VwLqhqsRzvqlGHsFMTWXNfhFwA+FEfL/vg==","signatures":[{"sig":"MEQCIFRJazhi50KBWyr6muiluWrfjZA/kHqz1FtoVBbQAGPVAiBFbHRuu191KTyXXRsXPK7tTS2bpeDj8i2To81zl6QuLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3796782},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"38c9b5fdbc9d9d64a513bd5926fc97a5f2fa6a7b","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.9_1779804255869_0.4456737188941886","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"@nordbyte/nordrelay","version":"0.9.10","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.10","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"a596817fca95fa0a53f091d1259acc861b700e12","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.10.tgz","fileCount":288,"integrity":"sha512-yg/iVayvcdgHWU8bETHPZtrqyOMAB4Iisd/dBFo8jKqLFmEWt+ELANdSI1yvkX0HFaVlqdwPaMSn4noSBexT9g==","signatures":[{"sig":"MEQCIDL6tFEtJhwk5YNsA6nhgWF8DG5sjKnKJK9K4qmuSjzEAiB2xQfpDlpTDLyZWDJ3xbAUbWSRkKFIgIrH2HRqT2f45A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3817233},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"29ed5533df14946b36b003c77fd0334f46a03bf9","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.10_1779877911340_0.4997853798480949","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"@nordbyte/nordrelay","version":"0.9.11","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.11","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"4a2f152d41275470a91d90d11e993ab7f0f8ac7a","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.11.tgz","fileCount":289,"integrity":"sha512-mEKixPIheIcJnoJGW895ryRODYOTzKvfU8vfzLfYArPKi3Ye0Gzv7hPWuW9CukanTp3SMY3ifDRs0AUQ6QG71Q==","signatures":[{"sig":"MEUCIAhKlFDbatj9yDCpgKcpt0wlKlLFOaHYy1xipGTxr+SqAiEAje2e84rHGq/zG9Vx9Bb5XU694jzlCwsDJmrXf1kopDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3809533},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"e67194971a1c3dc0030b8fe595cf2ad982b05378","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.11_1779901959036_0.5903291895902083","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@nordbyte/nordrelay","version":"0.9.12","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.12","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"f9e23830049cc291294ee72a37884850216228ae","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.12.tgz","fileCount":290,"integrity":"sha512-IN1U4jJi8fB5ohcMXBsoT2zYkhhyhpvMdJnO/+f/WT5zG7TSd6R4fKVvLvGUYEGSrtBE90z64lgP4Ox5fF/buw==","signatures":[{"sig":"MEYCIQCMgsGlEF13me94t9sq6xUpHXxJT7XujwijTqlo2U5d6gIhAPKwN42d7uWZNOgyAb6hqch5lc2mhYhQC9njlJzPzfu8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3816640},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"f162bb4bd69d4b2f4e169723d045bb25a54dfa58","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.12_1780029132341_0.548689495067793","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"@nordbyte/nordrelay","version":"0.9.13","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.13","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"8e0201a65c7d7512c3dfd668cef355f5c88f9fc3","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.13.tgz","fileCount":290,"integrity":"sha512-7Bo6iihFB9E9KTx/FzlUmiGJhopsuNMvMXHlV3BhRpPRLid8s4Jt8TQIu3Y5sXWHWVDem2JheMrdE2LZpEH6yA==","signatures":[{"sig":"MEUCIQDPh60tWWjvibdIPOCcYW9QvBfUWlvn9nRYi3p9Kjd7igIgVTZkS6wlFSG0AY858l+b7eEMyq924HG8v2+c3f+bMvo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3819678},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"69eac7f8dfa2e8d2ee1b14b2f5e5e69b3ab8db10","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.13_1780086020414_0.7188281703063275","host":"s3://npm-registry-packages-npm-production"}},"0.9.14":{"name":"@nordbyte/nordrelay","version":"0.9.14","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.14","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"e2ab3c5f9b38a8647b3764b9904db7fe84b18065","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.14.tgz","fileCount":295,"integrity":"sha512-TZ7lmy03yxmo7256HgooiLkhx0jq+4o5oGIrpY9Hot8dBuSIbnrWZVJzq6XEiOgvvHA6yxB5KqjVq5zaY8wl0A==","signatures":[{"sig":"MEYCIQDs8Gb02+GfoaP44CIWWdLI8lsPRvUAGVB5sACxKZWpKgIhAL2du5nfFazJFo/V0CKVdZF2l5DagLKxM5zmYGi99eOS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3898201},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"f80b1c6992759920111854cb785e208a71e1b817","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.14_1780211196403_0.004402865134421008","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"@nordbyte/nordrelay","version":"0.9.15","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.15","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"da4e840372ac1878db635bd287caf07011b47a71","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.15.tgz","fileCount":295,"integrity":"sha512-wKD+Y/ZjpcUEMRusjj8g0YgMOMAUWRz+RpNuUpi3BSooawmq2FPlaVppwwpU1X7CnEWIS9+ydyXqFTxxAezHZw==","signatures":[{"sig":"MEYCIQDg5wqpg1/cFM1W8z8kO3DgoXd6ZWZK9joo62zFc/+9EAIhAIeuFizAknOrVedXdKKZUvpbpJu8PWY0QubFglaaSzf2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3930813},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"45f12d6cf53038d017564acb52e9f70fc0c89ef0","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.15_1780221303071_0.8748809647097047","host":"s3://npm-registry-packages-npm-production"}},"0.9.16":{"name":"@nordbyte/nordrelay","version":"0.9.16","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.16","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"140406866f4165de0312680f0db911e2aab2ab48","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.16.tgz","fileCount":296,"integrity":"sha512-rGShZXSBXK7IinfzxSZN6qOgwmFDUClLYfhidiGkKbGDE8chI5Q0PuHFF+DTOTu/gUg/1zzFmrghWEYdY6hbZg==","signatures":[{"sig":"MEUCIQDrLID5goAYhIFNPmVnn5G92dKSMXry5srATdlMn2Q/JwIgaYvn4xgYwjkG8T/sgtAWIh+I1+VZ9V8kqMcbnp1XcKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3952467},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"c07f60117a3f28f63ac9966d32a14b58f7b8e261","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","clean:local":"node scripts/clean-local.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.2.4","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.16_1780255180153_0.20517974960098262","host":"s3://npm-registry-packages-npm-production"}},"0.9.17":{"name":"@nordbyte/nordrelay","version":"0.9.17","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.17","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"36a65f195d1f24e41f498862d9e0c3d6a73574f2","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.17.tgz","fileCount":298,"integrity":"sha512-ZgEP0VfVmBfcZZQ1+P/j+u5XG4Ccv9jiSEsFIY4YZBqPcm/hj+X2ZtxUIHcj9K2nwfYt8X1g/Dbws4JssJewSA==","signatures":[{"sig":"MEUCIBjIc6s5h5VRfnHADC2e7fiCGZnSOhOkEPf17oyaT+njAiEA4VkosLh6fmVMDmSi+6cZiWB7Ga6QbJUCH8ZttXA29TA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3969827},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"bf8507b0bf54628fe2b15262cb13e090828e00f3","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","clean:local":"node scripts/clean-local.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.1.8","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.17_1780384020081_0.17850677582755936","host":"s3://npm-registry-packages-npm-production"}},"0.9.18":{"name":"@nordbyte/nordrelay","version":"0.9.18","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.18","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"d529ba2ec74750d7b0918d17901c55dc98c315cb","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.18.tgz","fileCount":299,"integrity":"sha512-1EXmLCRA85N7kmt969/zWRX7Y2guOHr3ZZxPO4vqxPcluInIFKoIfp30q9o00IwmaIRTs2sTQTGHUJB9IFjxPA==","signatures":[{"sig":"MEUCIHF82bJ2R6xzSVtdsu+tIPr7dtVxs8APrS8Au9m/ahAwAiEA5kFAGEeLJZCEMl29aeDWWiL90HF5qTWri1ilxrNTLks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3981842},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"f129423377beb6331f3f6b287b8333c7dc38e940","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","clean:local":"node scripts/clean-local.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.1.8","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.18_1780557344665_0.7873417283519344","host":"s3://npm-registry-packages-npm-production"}},"0.9.19":{"name":"@nordbyte/nordrelay","version":"0.9.19","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.19","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"487ef4c7d4f34d68feeceeaa7bc77ac87047ca0b","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.19.tgz","fileCount":299,"integrity":"sha512-cyr9qPD9+PTgBC2vMlSqp6bgmF/CANV4NrtR8N8i6M3Iq+7HJXSHq/ggBs0YcEucQvtpNbKKb9v5zWFuyieneA==","signatures":[{"sig":"MEUCIQCaTKkIqNJx1yswC/hYrae+GuXlrdja8NqrM/XHhhV4ogIgJvxWsmXs+iev6HKeNOshLzgFP+mQrtzZieJe5R+G+z8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3998200},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"a976bc87d40821968c0298c399f56e511a0a1327","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","clean:local":"node scripts/clean-local.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"overrides":{"hono":"^4.12.23"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.1.8","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.19_1780760810430_0.9220640034082899","host":"s3://npm-registry-packages-npm-production"}},"0.9.20":{"name":"@nordbyte/nordrelay","version":"0.9.20","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.20","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"1f55cc33af773cf5810d16eace53e82253c15b13","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.20.tgz","fileCount":301,"integrity":"sha512-GgkU+OvyCPOQ0RszxTGKwtj+1i+KaUY6NSbzvQRPYpUFs8iuRCXsKyyIi+GxHxyxE+fULqEcOEosLRzwJ/8f+Q==","signatures":[{"sig":"MEQCIHW81ce0sVzGwxuAniG8kpF7zrMj8CXODWrlBwivumeaAiAyzoPtl/IYS8nnzxmxKp0JFTLzc9n9hfWuDLPNU1BYlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4028420},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"927bf339198777140143254d1bb4e18308b26e57","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","clean:local":"node scripts/clean-local.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"overrides":{"hono":"^4.12.23"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.1.8","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.20_1781067442767_0.40413754663181334","host":"s3://npm-registry-packages-npm-production"}},"0.9.21":{"name":"@nordbyte/nordrelay","version":"0.9.21","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"author":{"name":"Ricardo"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.21","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"homepage":"https://github.com/nordbyte","bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"dist":{"shasum":"49a3e23807af63a85823f5a7ceeb19f116fadba0","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.21.tgz","fileCount":302,"integrity":"sha512-oxrwSWxajjOPhItniuCnb8ksSxl1BgC3YhZH0g/jIQ8yLHmt1CXrwn/zwEWZ3ufFy/Dgz8wGcvmESV8qR1QabA==","signatures":[{"sig":"MEUCIAaYwYCvcxpI0o+dOvLHKm+WJfU1ZnZV0bCO3fIXkX98AiEAoG0lxDL33cULPairYEoCJ7KPQ+EnLceE1AqOrmDSpkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4046650},"main":"./dist/index.js","type":"module","engines":{"node":">=22"},"gitHead":"a53136bbc65b438b1dc01b8734a8d948c5fd00bd","scripts":{"dev":"tsx src/index.ts","sbom":"npm sbom --json > sbom.json","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","prepack":"npm run build","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","test:all":"npm test && npm run test:e2e","test:e2e":"playwright test","api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","env:check":"node --import tsx scripts/generate-env-example.mjs --check","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:check":"node scripts/check-docs.mjs","docs:smoke":"node scripts/smoke-docs-build.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","size:check":"node scripts/check-module-size.mjs","clean:local":"node scripts/clean-local.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","postinstall":"node scripts/postinstall.mjs","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","env:generate":"node --import tsx scripts/generate-env-example.mjs","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate"},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"overrides":{"hono":"^4.12.23"},"repository":{"url":"git+https://github.com/nordbyte/nordrelay.git","type":"git"},"_npmVersion":"10.9.8","description":"Remote control plane for coding agents across messaging channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","grammy":"^1.41.1","discord.js":"^14.26.4","selfsigned":"^3.0.1","@slack/bolt":"^4.7.2","@slack/web-api":"^7.16.0","@openai/codex-sdk":"^0.130.0","@grammyjs/auto-retry":"^2.0.2","@simplewebauthn/server":"^13.3.0","@anthropic-ai/claude-agent-sdk":"^0.2.141"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^4.1.8","esbuild":"^0.28.0","typescript":"^5.9.3","@types/node":"^25.5.0","@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","parakeet-coreml":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/nordrelay_0.9.21_1781082934599_0.7618719664563232","host":"s3://npm-registry-packages-npm-production"}},"0.9.22":{"name":"@nordbyte/nordrelay","version":"0.9.22","description":"Remote control plane for coding agents across messaging channels.","type":"module","author":{"name":"Ricardo"},"homepage":"https://github.com/nordbyte","repository":{"type":"git","url":"git+https://github.com/nordbyte/nordrelay.git"},"bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"main":"./dist/index.js","bin":{"nordrelay":"plugins/nordrelay/scripts/nordrelay.mjs"},"scripts":{"api:check":"node --import tsx scripts/generate-web-api-routes.mjs --check","api:generate":"node --import tsx scripts/generate-web-api-routes.mjs","build":"node scripts/clean-dist.mjs && npm run api:generate && tsc && node scripts/build-web-assets.mjs","check":"node --check plugins/nordrelay/scripts/nordrelay.mjs && node --check plugins/nordrelay/scripts/init-tui.mjs && node --check plugins/nordrelay/scripts/init-marketplace.mjs && node --check plugins/nordrelay/scripts/init-state.mjs && node --check plugins/nordrelay/scripts/prompt-utils.mjs && node --check plugins/nordrelay/scripts/tui-style.mjs && node --check plugins/nordrelay/scripts/plugin-manager.mjs && node --check plugins/nordrelay/scripts/lifecycle-utils.mjs && node --check plugins/nordrelay/scripts/service-installer.mjs && node --check plugins/nordrelay/scripts/service-doctor.mjs && node --check plugins/nordrelay/scripts/doctor-fixes.mjs && node --check scripts/clean-local.mjs && npm run api:check && tsc --noEmit && npm run webui:check && node scripts/build-web-assets.mjs --check && node --import tsx scripts/generate-env-example.mjs --check && npm run size:check","clean:local":"node scripts/clean-local.mjs","dev":"tsx src/index.ts","docs:prepare":"npm ci --prefix docs --ignore-scripts","docs:check":"node scripts/check-docs.mjs","docs:dev":"npm run docs:prepare && npm --prefix docs run dev -- --host 0.0.0.0","docs:build":"npm run docs:prepare && npm --prefix docs run build","docs:preview":"npm run docs:prepare && npm --prefix docs run preview -- --host 0.0.0.0","docs:smoke":"node scripts/smoke-docs-build.mjs","docs:verify":"npm run docs:check && npm run docs:build && npm run docs:smoke","env:check":"node --import tsx scripts/generate-env-example.mjs --check","env:generate":"node --import tsx scripts/generate-env-example.mjs","foreground":"node plugins/nordrelay/scripts/nordrelay.mjs foreground","postinstall":"node scripts/postinstall.mjs","prepack":"npm run build","prepublishOnly":"npm run check && npm test && npm run build","security:audit":"npm audit --audit-level=moderate","size:check":"node scripts/check-module-size.mjs","sbom":"npm sbom --json > sbom.json","status":"node plugins/nordrelay/scripts/nordrelay.mjs status","start":"node plugins/nordrelay/scripts/nordrelay.mjs start","stop":"node plugins/nordrelay/scripts/nordrelay.mjs stop","test":"vitest run","test:e2e":"playwright test","test:all":"npm test && npm run test:e2e","webui:check":"tsc -p tsconfig.webui.json && tsc -p tsconfig.webui.client.json && node scripts/check-webui-client-types.mjs"},"dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.177","@grammyjs/auto-retry":"^2.0.2","@openai/codex-sdk":"^0.139.0","@simplewebauthn/server":"^13.3.1","@slack/bolt":"^4.7.3","@slack/web-api":"^7.17.0","discord.js":"^14.26.4","grammy":"^1.43.0","selfsigned":"^3.0.1","zod":"^4.4.3"},"devDependencies":{"@playwright/test":"^1.60.0","@types/better-sqlite3":"^7.6.0","@types/node":"^25.9.3","esbuild":"^0.28.1","tsx":"^4.22.4","typescript":"^5.9.3","vitest":"^4.1.8"},"optionalDependencies":{"better-sqlite3":"^12.10.0","parakeet-coreml":"^2.2.0"},"overrides":{"hono":"^4.12.23"},"engines":{"node":">=22"},"license":"MIT","_id":"@nordbyte/nordrelay@0.9.22","gitHead":"dbf05694b83e86a953a89521d545120504b50bfe","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-6slpGqfRPiDW3Ib/py5AdHOjDA/FbzCU4cV2w9XU+LDwGqo3mxfU0lqFiX5i7kDkROyJDxF2ifSpDV4ZquVJBQ==","shasum":"a1ec5bce5f9ceb7fd35a017906d221203b525fb5","tarball":"https://registry.npmjs.org/@nordbyte/nordrelay/-/nordrelay-0.9.22.tgz","fileCount":305,"unpackedSize":4169753,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nordbyte%2fnordrelay@0.9.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICHYIEpN0PRp/xELa9kJarqHHEDlP0qcW5gFH8v3yI8sAiEAo+PA+cFvwclbaaLm5queOL0IUmECeITf92q9Bh0IBwY="}]},"_npmUser":{"name":"nordbyte","email":"leinhos@nordbyte.de"},"directories":{},"maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nordrelay_0.9.22_1781450701564_0.15350510811621954"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T12:33:09.761Z","modified":"2026-06-14T15:25:02.021Z","0.2.1":"2026-05-12T12:33:10.034Z","0.3.0":"2026-05-12T15:16:34.093Z","0.3.1":"2026-05-12T16:52:03.988Z","0.4.0":"2026-05-13T06:22:22.667Z","0.4.1":"2026-05-13T10:54:05.111Z","0.5.0":"2026-05-13T18:02:32.962Z","0.5.1":"2026-05-14T07:39:42.128Z","0.5.2":"2026-05-14T09:55:32.429Z","0.6.0":"2026-05-15T08:38:42.370Z","0.7.0":"2026-05-15T11:03:10.051Z","0.8.0":"2026-05-15T15:23:53.672Z","0.8.1":"2026-05-15T16:34:37.924Z","0.8.2":"2026-05-16T07:27:44.100Z","0.8.3":"2026-05-16T14:07:15.806Z","0.8.4":"2026-05-16T18:42:56.171Z","0.8.5":"2026-05-17T07:31:08.707Z","0.8.6":"2026-05-17T11:35:38.229Z","0.8.7":"2026-05-17T12:50:02.183Z","0.8.8":"2026-05-17T19:02:27.990Z","0.8.9":"2026-05-18T14:28:29.011Z","0.8.10":"2026-05-18T19:06:06.200Z","0.8.11":"2026-05-19T11:53:41.295Z","0.9.0":"2026-05-20T06:02:40.789Z","0.9.1":"2026-05-20T19:48:25.129Z","0.9.2":"2026-05-21T10:38:04.377Z","0.9.3":"2026-05-21T16:29:23.705Z","0.9.4":"2026-05-23T05:18:54.460Z","0.9.5":"2026-05-24T07:19:30.524Z","0.9.6":"2026-05-24T16:19:59.238Z","0.9.7":"2026-05-25T07:55:30.630Z","0.9.8":"2026-05-25T11:46:38.649Z","0.9.9":"2026-05-26T14:04:16.061Z","0.9.10":"2026-05-27T10:31:51.518Z","0.9.11":"2026-05-27T17:12:39.249Z","0.9.12":"2026-05-29T04:32:12.586Z","0.9.13":"2026-05-29T20:20:20.650Z","0.9.14":"2026-05-31T07:06:36.612Z","0.9.15":"2026-05-31T09:55:03.214Z","0.9.16":"2026-05-31T19:19:40.335Z","0.9.17":"2026-06-02T07:07:00.314Z","0.9.18":"2026-06-04T07:15:44.870Z","0.9.19":"2026-06-06T15:46:50.631Z","0.9.20":"2026-06-10T04:57:22.928Z","0.9.21":"2026-06-10T09:15:34.785Z","0.9.22":"2026-06-14T15:25:01.774Z"},"bugs":{"url":"https://github.com/nordbyte/nordrelay/issues"},"author":{"name":"Ricardo"},"license":"MIT","homepage":"https://github.com/nordbyte","keywords":["coding-agents","messaging","remote-control","codex","pi","hermes","openclaw","claude-code","claude","telegram","discord","matrix","bot","automation"],"repository":{"type":"git","url":"git+https://github.com/nordbyte/nordrelay.git"},"description":"Remote control plane for coding agents across messaging channels.","maintainers":[{"name":"nordbyte","email":"leinhos@nordbyte.de"}],"readme":"# NordRelay\n![NordRelay Banner](https://raw.githubusercontent.com/nordbyte/nordrelay/main/docs/assets/nordrelay.png) [![Latest release](https://img.shields.io/github/v/release/nordbyte/nordrelay?style=flat-square)](https://github.com/nordbyte/nordrelay/releases/latest) [![CI](https://img.shields.io/github/actions/workflow/status/nordbyte/nordrelay/ci.yml?branch=main&style=flat-square)](https://github.com/nordbyte/nordrelay/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-ffd60a?style=flat-square)](LICENSE) [![npm](https://img.shields.io/npm/v/@nordbyte/nordrelay?logo=npm&logoColor=white&style=flat-square)](https://www.npmjs.com/package/@nordbyte/nordrelay) [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D22-339933?logo=node.js&logoColor=white&style=flat-square)](package.json) [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6?logo=typescript&logoColor=white&style=flat-square)](tsconfig.json)\n\nNordRelay is a secure remote control plane for coding agents. It connects Codex, Pi, Hermes, OpenClaw, and Claude Code sessions to Telegram, Discord, Slack, Matrix, the WebUI, and trusted peer nodes, with streaming replies, file/photo/voice input, queues, artifacts, user permissions, and multi-host control.\n\nUse the README for the first install and quick start. Full documentation is available at [nordrelay.io](https://nordrelay.io/) and in [docs/](docs/).\n\n## Quick Start\n\nRequirements:\n\n- Node.js 22 or newer.\n- At least one supported coding agent installed and authenticated, for example Codex CLI.\n- A Telegram, Discord, Slack, or Matrix bot/app token if you want chat access.\n\nInstall NordRelay globally:\n\n```bash\nnpm install -g @nordbyte/nordrelay\nnordrelay init\nnordrelay doctor\nnordrelay start\n```\n\nNordRelay is published to the npm registry, so pnpm and Yarn can install the same package:\n\n```bash\npnpm dlx @nordbyte/nordrelay init\npnpm add -g @nordbyte/nordrelay\nyarn dlx @nordbyte/nordrelay init\n```\n\nIf `nordrelay` is not found after a global npm or pnpm install, the package-manager global bin directory is not in your shell `PATH`. New installs run a postinstall check and print the exact command to add the bin directory to your shell profile.\n\nOpen the dashboard:\n\n```bash\nnordrelay web\n```\n\nThe dashboard is available at the URL printed by the command, usually:\n\n```text\nhttp://127.0.0.1:31878/\n```\n\nOn first WebUI startup, create the first admin user. After that, every dashboard page and chat adapter action is controlled by NordRelay users, groups, linked Telegram/Discord/Slack/Matrix accounts, and registered channels or rooms.\n\n## Minimal Setup\n\nThe recommended setup path is interactive:\n\n```bash\nnordrelay init\nnordrelay user list\nnordrelay doctor\nnordrelay doctor --fix\nnordrelay start\n```\n\n`nordrelay init` writes private runtime config to:\n\n```text\n~/.nordrelay/nordrelay.env\n```\n\nNordRelay keeps runtime state, queues, uploads, logs, and workspace-scoped artifacts under `~/.nordrelay`.\n\nA minimal Telegram + Codex configuration looks like this:\n\n```dotenv\nNORDRELAY_WEBUI_ENABLED=true\nTELEGRAM_ENABLED=true\nTELEGRAM_BOT_TOKEN=<bot-token>\nDISCORD_ENABLED=false\nSLACK_ENABLED=false\nMATRIX_ENABLED=false\nNORDRELAY_CODEX_ENABLED=true\nNORDRELAY_DEFAULT_AGENT=codex\nCODEX_SANDBOX_MODE=workspace-write\nCODEX_APPROVAL_POLICY=never\n```\n\nFor a browser-only setup, keep `NORDRELAY_WEBUI_ENABLED=true` and set all chat adapters to `false`.\n\nFor guided setup in the browser, open the WebUI, go to **Settings**, then use **Setup wizard** for Telegram, Discord, Slack, or Matrix.\n\n## Common Commands\n\nCLI:\n\n```bash\nnordrelay status\nnordrelay doctor\nnordrelay doctor --fix\nnordrelay web\nnordrelay restart\nnordrelay update\nnordrelay service install\nnordrelay service status\n```\n\nChat adapters share the core command set:\n\n```text\n/help\n/nodes\n/session\n/sessions\n/agent\n/model\n/reasoning\n/queue\n/artifacts\n/mirror\n/stop\n/diagnostics\n```\n\nSee [Chat commands](docs/reference/chat-commands.md) and the [CLI reference](docs/commands/index.md) for the complete command reference.\n\n## What NordRelay Provides\n\n- Independent sessions per Telegram chat/topic, Discord DM/channel/thread, Slack DM/channel/thread, Matrix DM/room/thread, WebUI, and peer target.\n- Optional isolated Git worktree sessions so multiple agent sessions can work on the same repository without seeing each other's unfinished changes.\n- Worktree diff/integration previews, base-branch updates, cleanup, and peer-routed workflow steps for multi-host automation.\n- Streaming replies, typing/status indicators, tool activity, queue handling, retry, abort/stop, and CLI handback.\n- File, photo, voice/audio, and generated artifact workflows.\n- Prompt templates and multi-step workflows with variable preview, run history, and unified job tracking.\n- Per-user and per-group access control for WebUI, chat adapters, workspaces, agents, and peer nodes.\n- Optional peer federation for controlling agents on other trusted NordRelay hosts.\n- WebUI dashboard for chat, sessions, settings, logs, diagnostics, updates, artifacts, peers, metrics, and users.\n- Agent adapters for Codex, Pi, Hermes, OpenClaw, and Claude Code.\n- Chat adapters for Telegram, Discord, Slack, and Matrix.\n\n## Documentation\n\n| Topic | Link |\n| --- | --- |\n| Full documentation site | [nordrelay.io](https://nordrelay.io/) |\n| Installation and quickstart | [docs/start/install.md](docs/start/install.md) |\n| WebUI | [docs/start/webui.md](docs/start/webui.md) |\n| Agents | [docs/guides/agents.md](docs/guides/agents.md) |\n| Chat adapters | [docs/guides/chat-adapters.md](docs/guides/chat-adapters.md) |\n| Workflows | [docs/guides/workflows.md](docs/guides/workflows.md) |\n| Configuration and settings | [docs/reference/configuration.md](docs/reference/configuration.md) |\n| CLI command reference | [docs/commands/index.md](docs/commands/index.md) |\n| Architecture | [docs/internals/architecture.md](docs/internals/architecture.md) |\n| Public security policy | [SECURITY.md](SECURITY.md) |\n| Contribution guide | [CONTRIBUTING.md](CONTRIBUTING.md) |\n\n## Development\n\nFrom a source checkout:\n\n```bash\nnpm install\nnpm run build\nnpm run check\nnpm test\nnpm run test:e2e\n```\n\nWebUI CSS and JavaScript are minified and precompressed by default during\n`npm run build`. Set `NORDRELAY_WEBUI_MINIFY=false` for readable local asset\nbuilds while debugging.\n\nUseful runtime scripts:\n\n```bash\nnpm run foreground\nnpm start\nnpm run status\nnpm stop\n```\n\n## Security Defaults\n\n- The dashboard requires login.\n- User accounts support authenticator MFA, recovery codes, passkeys, scoped API tokens, and session revocation.\n- Chat adapter access requires linked NordRelay users and registered/allowed channels.\n- Peer serving is disabled by default and requires explicit pairing.\n- Unsafe launch profiles are hidden unless explicitly enabled.\n- Secrets belong in `~/.nordrelay/nordrelay.env` or host secret management, not in the repository.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}