{"_id":"@alexnodeland/claude-telegram","_rev":"11-54fb4c422e6408ef44219b21843afe53","name":"@alexnodeland/claude-telegram","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@alexnodeland/claude-telegram","version":"0.1.0","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.1.0","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"2320e9659e9242c7f54c6df16629983335c100f2","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.1.0.tgz","fileCount":16,"integrity":"sha512-1I1xFXomsi/JmCemoqRf27hhsyotugkNnntuhQKBdU0Zc1tg7VdymliQ5juR/XpG/DsQ7LXG4lr2VU+FRmEH6A==","signatures":[{"sig":"MEQCICtrf9nyKNsDDUqq6e48LcBavfL00rIDkZ4nIVQ0OJBEAiAF5NkpaD+kyyvYgJ59ZGq3ZSST4WePhrB5Tc3E2R25mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126215},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"8f67c9b42cb66541c60cfd9d8ad0d50d1e0ab0b8","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"deprecated":"Use >= 0.2.0","repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"11.6.2","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.1.0_1774211464055_0.5682874522548795","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@alexnodeland/claude-telegram","version":"0.1.4","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.1.4","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"ecf65ace7c1c9d40235d1601927145157d4a6c9d","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.1.4.tgz","fileCount":16,"integrity":"sha512-kWWw4GyNTsXdfbt8VxMnmQsmbArSYxVRNeXTZ3zIyumiYg4BIzhr95wOG7OnMb4jYscYjOnkBsfb1GfBrb9lFQ==","signatures":[{"sig":"MEYCIQCUVfi07NCz03bO1l66IfeUYDU2B0mpR9xXjU3ujwyBmgIhALJvDB4WtpQnq7QX1chsSQyoov9j7bWJPbT60VTR+Wnv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126215},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"9e603b84cbe04384a9566ff53d35d67f696d6c1e","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"deprecated":"Use >= 0.2.0","repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.1.4_1774213632724_0.4152495332147237","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alexnodeland/claude-telegram","version":"0.2.0","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.2.0","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"980004c9590e472bde74ba37c8af6a2559a9a825","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.2.0.tgz","fileCount":17,"integrity":"sha512-S3HPQQ+aLOTf3DdK3PC7coy/RGN1Wy4N9J2I0K+R+Ynj5phOyWnlZqPNhnuh4RyzEjtMpvTdqlc9Y3ArRhK2gQ==","signatures":[{"sig":"MEYCIQDuVnoyHrFpOiT7KrlgFbZJwIErE4IJuVuW7CHM3NuOLQIhANQsz9ybyFu15PeS0iVTFNF4IIPFLeI32ZAJEuJXdEXx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132270},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"5f1a3361698624ab3b9f22f60a4ceea1e30f1738","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.2.0_1774214073368_0.15222162286198215","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@alexnodeland/claude-telegram","version":"0.2.1","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.2.1","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"f5a6679d9dd395089c521d329955e01722a2289c","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.2.1.tgz","fileCount":17,"integrity":"sha512-TFmL4Jq9Cbgv3sxlzxkCbn/YVOb4FHi6MeWguKldRq3oxqAyETl3jS3K/NJgDZSMbifxWYU/ZejJu5+qe32H4w==","signatures":[{"sig":"MEUCICu4yaFdOaNzDTOI+jYY4Ym7zR+gv5YeQF0121y+qK0IAiEAqAbHzNeJG7FRbPkg0NdVc524OX5MEx2+5HQsi+2bVvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132986},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"6f98a3633761db526b337967a6212b347e1a2d60","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.2.1_1774217639991_0.6478766241094138","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alexnodeland/claude-telegram","version":"0.3.0","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.3.0","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"ebba106e9dc8ca0efceb864567bdffc520d1800c","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.3.0.tgz","fileCount":17,"integrity":"sha512-AvVoPph5G+a5h5hWSOX68pSdwXffidcCramUh7ImVe4ZIUJComZIji7LPXQeTpxdS6Ry3k8A7xmICKi4rTh1fw==","signatures":[{"sig":"MEUCIBTE56GRhOILRjiLi6zcYSnoqLjsOVyZ0DfwewFkg1j5AiEAu0scYrJv0sRbeUkuflCAkgWOE3CmfFrElo/x9sOlHSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":134694},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"3f90481ffc2e6ac4bb0d2eeb9072f8114bbc9a17","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.3.0_1774221117921_0.7038440403339847","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@alexnodeland/claude-telegram","version":"0.3.1","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.3.1","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"41a47cf3b790b2819fbb53695b920310d70191f5","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.3.1.tgz","fileCount":17,"integrity":"sha512-5Iu1fpWPF7kaYg8UvXXbnwiVoCgb1PpjJnnYWGKS+RPhiaW3FZdYSHhNV+n/rbougnuvk4N5jt+PEb5zanyI+g==","signatures":[{"sig":"MEUCICcN9iuL9h6asIxrYnsywZ9ouYmAYNzMGqV4DT/8O15LAiEAh3mvGD9GQWQrrCUOggRRFrwGiwc6Rn2lizyEDn6VVnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137337},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"d523f1bf593fe1228276489b448ff3361b946fdb","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.3.1_1774222707385_0.966817350808372","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@alexnodeland/claude-telegram","version":"0.3.2","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.3.2","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"1a17ebe64a5d639a61b8639d1cb0ba78f77ad9e9","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.3.2.tgz","fileCount":17,"integrity":"sha512-RjMFaDwYaH0FREfiMAjyr08aCvD64ebmz8CBey0rMPqjtsyanWqfuR4wlYfeXstqtQ6LH/08StWy30vowz4GJA==","signatures":[{"sig":"MEUCIGt3+J+sTDd6nWAldcjs0Wsvk0nusUtZ3jtsBdjlvRWEAiEA3h/CHGkpjOuj6IrduMQIfjJdAjNYTBqhKIsTajVxRMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139038},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"810138bd4d9b49225527992a57d9d0c95f812880","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.3.2_1774224209501_0.161596191315462","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@alexnodeland/claude-telegram","version":"0.3.3","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.3.3","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"91e72a08839094db56d9c93ad3cb3ef799ba177d","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.3.3.tgz","fileCount":17,"integrity":"sha512-zTJXc+3zjirWBLUnVXzs9I+rfyia7Og8EBKib7Kufh7JHW6zN2l42/yGmS7p3wlJF2bGNLxJ7a7RI1fx9Rem2Q==","signatures":[{"sig":"MEYCIQC/ITxPucEpYdvGJEWi3qcTJDsCw9oK4VvDDa+VGGJe8wIhAMcJVuHYfYjdnVK6hPQLgnEP95T3LJ0OUhzPie7fMJng","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139573},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"7f0d917b18d3e05c07143a34c853529b5c43548c","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.3.3_1774224827136_0.03765583704360598","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@alexnodeland/claude-telegram","version":"0.3.4","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","_id":"@alexnodeland/claude-telegram@0.3.4","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"bin":{"claude-telegram":"src/index.ts","claude-telegram-daemon":"scripts/daemon.sh","claude-telegram-orchestrator":"src/orchestrator.ts"},"dist":{"shasum":"d5a21a930e35707e093c2810a6c52f1fb2b0460b","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.3.4.tgz","fileCount":17,"integrity":"sha512-9p/AKwH2ASLrWKKJ/0DAAHtyHeBHMJzzXdZvO/TR5opAcU7QyaNy4JtSGUD2Nl4inDfTAJfr2k8FQPjtenKXyQ==","signatures":[{"sig":"MEUCIQD43lqq6Q7HJQIFtSFstfeV4XHL18JsbMwYSNJL2O3OWQIgTiuougWfqlmDzSZJnmpn//TwFx92RbNICg2f7fG8yp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139676},"main":"src/index.ts","type":"module","module":"src/index.ts","engines":{"bun":">=1.1.0"},"gitHead":"7ad24ef1aa4003311862214872fe80e688354eda","scripts":{"dev":"bun --watch run src/index.ts","lint":"biome lint src/","test":"bun test","check":"biome check src/","start":"bun run src/index.ts","format":"biome format --write src/","prepare":"git config core.hooksPath .githooks","check:fix":"biome check --write src/","typecheck":"tsc --noEmit","test:watch":"bun test --watch","format:check":"biome format src/","dev:orchestrator":"bun --watch run src/orchestrator.ts","start:orchestrator":"bun run src/orchestrator.ts"},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"repository":{"url":"git+https://github.com/alexnodeland/claude-telegram.git","type":"git"},"_npmVersion":"10.9.4","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.3.11","@types/bun":"latest","typescript":"^5.4.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/claude-telegram_0.3.4_1774225184337_0.4780093116348205","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@alexnodeland/claude-telegram","version":"0.4.0","description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","module":"src/index.ts","main":"src/index.ts","type":"module","bin":{"claude-telegram":"src/index.ts","claude-telegram-orchestrator":"src/orchestrator.ts","claude-telegram-daemon":"scripts/daemon.sh"},"scripts":{"start":"bun run src/index.ts","start:orchestrator":"bun run src/orchestrator.ts","dev":"bun --watch run src/index.ts","dev:orchestrator":"bun --watch run src/orchestrator.ts","typecheck":"tsc --noEmit","lint":"biome lint src/","format":"biome format --write src/","format:check":"biome format src/","check":"biome check src/","check:fix":"biome check --write src/","test":"bun test","test:watch":"bun test --watch","prepare":"git config core.hooksPath .githooks"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","croner":"^10.0.1","zod":"^3.23.8"},"devDependencies":{"@biomejs/biome":"^2.4.8","@types/bun":"latest","bun-types":"^1.3.11","typescript":"^5.4.0"},"engines":{"bun":">=1.1.0"},"keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alexnodeland/claude-telegram.git"},"homepage":"https://github.com/alexnodeland/claude-telegram#readme","bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"_id":"@alexnodeland/claude-telegram@0.4.0","gitHead":"95cd09984c80fbf71066e6e56a9f3e8208832a09","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-l07G/Ovb/eqEyKQWn7cVEh81ULF26cK94Bk3kYjjPepHYZit78QpJz+xauI6VZVt9VEdzaGoOA41pw3IvUQE+Q==","shasum":"7e815e158289577fe25ed79f54314c62beecb93e","tarball":"https://registry.npmjs.org/@alexnodeland/claude-telegram/-/claude-telegram-0.4.0.tgz","fileCount":19,"unpackedSize":168489,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexnodeland%2fclaude-telegram@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCc77nqEEyqkUu1Ah74Jw0YW3e85tS7SctQRYl3IDpGDAIhAIxr2U9HDQWYKQNgdO/7MZMMlcX/hjBDux5fO0cd/9YW"}]},"_npmUser":{"name":"alexnodeland","email":"alex@ournature.studio"},"directories":{},"maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-telegram_0.4.0_1774270868524_0.06661128603877753"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-22T20:31:03.924Z","modified":"2026-03-23T13:01:09.041Z","0.1.0":"2026-03-22T20:31:04.242Z","0.1.4":"2026-03-22T21:07:12.865Z","0.2.0":"2026-03-22T21:14:33.538Z","0.2.1":"2026-03-22T22:14:00.166Z","0.3.0":"2026-03-22T23:11:58.062Z","0.3.1":"2026-03-22T23:38:27.555Z","0.3.2":"2026-03-23T00:03:29.662Z","0.3.3":"2026-03-23T00:13:47.264Z","0.3.4":"2026-03-23T00:19:44.494Z","0.4.0":"2026-03-23T13:01:08.693Z"},"bugs":{"url":"https://github.com/alexnodeland/claude-telegram/issues"},"license":"MIT","homepage":"https://github.com/alexnodeland/claude-telegram#readme","keywords":["mcp","model-context-protocol","claude","claude-code","telegram","telegram-bot","channel","orchestrator","ai-agent","cli"],"repository":{"type":"git","url":"git+https://github.com/alexnodeland/claude-telegram.git"},"description":"Claude Code Channel plugin + standalone orchestrator bridging Telegram to Claude Code sessions","maintainers":[{"name":"alexnodeland","email":"alex@ournature.studio"}],"readme":"<div align=\"center\">\n\n# claude-telegram\n\n**Control Claude Code from Telegram — run tasks, review diffs, and ship code from your phone.**\n\n[![npm](https://img.shields.io/npm/v/@alexnodeland/claude-telegram?color=cc785c)](https://www.npmjs.com/package/@alexnodeland/claude-telegram)\n[![GitHub Release](https://img.shields.io/github/v/release/alexnodeland/claude-telegram?style=flat&color=cc785c)](https://github.com/alexnodeland/claude-telegram/releases)\n[![CI](https://img.shields.io/github/actions/workflow/status/alexnodeland/claude-telegram/ci.yml?branch=main&label=CI)](https://github.com/alexnodeland/claude-telegram/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Runtime: Bun](https://img.shields.io/badge/Bun_%3E%3D1.1-f9f1e1?logo=bun&logoColor=000)](https://bun.sh)\n[![Claude Code](https://img.shields.io/badge/Claude_Code-%3E%3D2.1-cc785c?logo=anthropic)](https://docs.anthropic.com/en/docs/claude-code)\n[![MCP](https://img.shields.io/badge/MCP-Channel_Plugin-blue)](https://modelcontextprotocol.io)\n\n<br />\n\n<img src=\"docs/images/working.jpg\" width=\"340\" alt=\"Real-time streaming in Telegram\" />\n\n<br />\n\n_Tool calls stream in real time with a live status bar and cost tracking._\n\n</div>\n\n<br />\n\nA local bridge between Telegram and [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Send a message from your phone, Claude reads your codebase, edits files, runs commands, and replies — everything stays on your machine.\n\n```mermaid\n---\nconfig:\n  layout: elk\n---\ngraph LR\n  A[\"You\\n(Telegram)\"] -->|message| B[\"claude-telegram\\n(runs locally)\"]\n  B -->|polls & streams| A\n  B -->|spawns subprocess| C[\"Claude Code\\n(your machine)\"]\n  C -->|NDJSON stream| B\n\n  style A fill:#26A5E4,color:#fff,stroke:none\n  style B fill:#1a1a2e,color:#fff,stroke:#444\n  style C fill:#cc785c,color:#fff,stroke:none\n```\n\n## Why\n\nYou're away from your desk but need to:\n\n- Fix a broken CI pipeline before standup\n- Ask a question about a codebase you don't have open\n- Kick off a refactor and watch it happen\n- Review and commit code on the go\n\nClaude Telegram gives you full Claude Code access from any Telegram client — phone, tablet, desktop. No SSH, no cloud relay, no exposed ports. It runs on your machine and talks to Telegram's Bot API.\n\n## Quick start\n\n### Prerequisites\n\n- [Bun](https://bun.sh) >= 1.1\n- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) >= 2.1\n- A Telegram bot token (message [@BotFather](https://t.me/BotFather), send `/newbot`, copy the token)\n\n### Install and run\n\n```bash\n# Install the package\nbun add -g @alexnodeland/claude-telegram\n\n# Set your bot token\nexport TELEGRAM_BOT_TOKEN=your_token_here\n\n# Start the orchestrator\nclaude-telegram-orchestrator\n```\n\nOr run directly without installing:\n\n```bash\nTELEGRAM_BOT_TOKEN=your_token_here bunx @alexnodeland/claude-telegram/src/orchestrator.ts\n```\n\n### Pair your Telegram account\n\n1. Send `/start` to your bot in Telegram\n2. An already-approved user sends `/approve <CODE>` with the 6-character pairing code\n\nTo pre-approve users on first run, set `TELEGRAM_ALLOWED_USERS` with comma-separated Telegram user IDs:\n\n```bash\nTELEGRAM_ALLOWED_USERS=783772449 claude-telegram-orchestrator\n```\n\n### Running as a daemon\n\nA built-in script sets up launchd (macOS) or systemd (Linux) automatically:\n\n```bash\nclaude-telegram-daemon install    # install and start\nclaude-telegram-daemon status     # check if running\nclaude-telegram-daemon logs       # tail logs\nclaude-telegram-daemon uninstall  # stop and remove\n```\n\nAuto-restarts on crash and starts on login. See the [orchestrator docs](docs/orchestrator-mode.md#running-as-a-daemon) for manual setup options.\n\n> [!TIP]\n> The **orchestrator mode** above is standalone and manages its own Claude sessions. There's also a [channel mode](docs/channel-mode.md) that attaches Telegram to an existing Claude Code session as an MCP plugin.\n\n## Features\n\n### Session management\nStart sessions in any project directory with a navigable file browser. Resume previous sessions by title. Run multiple sessions across different projects.\n\n### Real-time streaming\nTool calls, text output, and errors stream as separate messages with a live status bar showing the current step, tool count, and running cost.\n\n### Permission control\nPermission prompts are forwarded to Telegram with granular options — approve once, for the session, or always for the project. Switch between normal, plan, and auto-accept modes.\n\n### Slash command pass-through\nRun Claude Code commands directly: `/cc commit`, `/cc review-pr 123`, `/cc diff`. Or tap through an interactive menu.\n\n### Job scheduling\nSchedule prompts to run on a recurring or one-shot basis. Use natural syntax like `every 30m`, `at 9am weekdays`, or raw cron expressions. Claude can also self-schedule work via MCP tools — e.g. \"check the deploy every 5 minutes\" creates a job that outlives the session.\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `/new` | Start a session — shows a directory browser to pick your project |\n| `/resume` | Resume a previous session by title |\n| `/sessions` | List all sessions with tap-to-resume buttons |\n| `/cc` | Claude Code slash commands — menu or `/cc commit` directly |\n| `/mode` | Switch between normal / plan / auto-accept |\n| `/model` | Switch between sonnet / opus / haiku |\n| `/stop` | Stop current task or end session |\n| `/dirs` | Browse bookmarked and recent directories |\n| `/bookmark` | Save a directory shortcut: `/bookmark /path --name alias` |\n| `/schedule` | Schedule a job: `/schedule \"run tests\" every 30m` |\n| `/jobs` | List scheduled jobs with pause/cancel buttons |\n| `/cancel` | Cancel a scheduled job by ID |\n| `/pause` | Pause or resume a scheduled job |\n| `/cost` | Show session cost |\n| `/status` | Full session info |\n| `/help` | Show all commands |\n\nAnything that isn't a command is sent as a prompt to Claude.\n\n## Screenshots\n\n<table>\n<tr>\n<td width=\"50%\">\n\n**Permission prompts** — approve once, for the session, or always for the project.\n\n</td>\n<td width=\"50%\">\n\n**Directory browser** — navigate folders, bookmark shortcuts, tap to start.\n\n</td>\n</tr>\n<tr>\n<td>\n\n<img src=\"docs/images/permissions.jpg\" width=\"300\" alt=\"Permission prompt with granular options\" />\n\n</td>\n<td>\n\n<img src=\"docs/images/new.jpg\" width=\"300\" alt=\"Navigable directory browser\" />\n\n</td>\n</tr>\n<tr>\n<td>\n\n**`/cc` command menu** — run slash commands and switch modes from the chat.\n\n</td>\n<td>\n\n**Session list** — auto-generated titles, tap to resume.\n\n</td>\n</tr>\n<tr>\n<td>\n\n<img src=\"docs/images/cc.jpg\" width=\"300\" alt=\"/cc command menu and mode switching\" />\n\n</td>\n<td>\n\n<img src=\"docs/images/sessions.jpg\" width=\"300\" alt=\"Session list with titles and resume buttons\" />\n\n</td>\n</tr>\n</table>\n\n## Security\n\n- **Runs locally** — no cloud relay, no data leaves your machine, no inbound ports\n- **Pairing codes** — 6-character, 10-minute expiry, one-time use\n- **Allowlist** — only paired Telegram users can interact\n- **Permission relay** — HTTP server binds to `127.0.0.1` only\n- **Zero Telegram SDK** — native `fetch` only, minimal attack surface\n\n## Documentation\n\n| Doc | Contents |\n|---|---|\n| [Orchestrator Mode](docs/orchestrator-mode.md) | Setup, commands, permissions, streaming, sessions, env vars |\n| [Channel Mode](docs/channel-mode.md) | MCP channel plugin setup, pairing, access commands, tools |\n| [Architecture](docs/architecture.md) | System design, module map, security model, data flow |\n| [Changelog](CHANGELOG.md) | Release history |\n| [Contributing](CONTRIBUTING.md) | Development setup, code style, testing, pull requests |\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}