{"_id":"linkgravity","_rev":"23-70fbe593640f7bbb07c9aab12630b2c4","name":"linkgravity","dist-tags":{"latest":"1.5.12"},"versions":{"1.0.0":{"name":"linkgravity","version":"1.0.0","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.0.0","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"40fa8c7d9b3c659c7774ccbd3b4db3bc77095320","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.0.0.tgz","fileCount":43,"integrity":"sha512-em3FrjNQoi4p3YW3agfP96SpYRwaULzPIE5tmrEVZBk7/ksIhLTjTfzvpllj7E6N0cZB48LBIFKGQDohYIyqdQ==","signatures":[{"sig":"MEYCIQDJU6UgTTSMwdbPMlwY/7Lj5QSTWvHYk/DtJIer43WnIgIhANpm/XBjKflmVj+7qkIKq1h46vq/DPoSCkk182HXrqyI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321362},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"7cfc3136e1cd62ef78a05564e1b8b8e7aed1ebfd","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"sseuldev","email":"sseuldev@gmail.com"},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"10.9.7","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"22.22.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.0.0_1785055673689_0.5979243980095761","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"linkgravity","version":"1.0.1","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.0.1","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"30e4943022a5fa149fa3ae7f6af741c4b7390da2","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.0.1.tgz","fileCount":43,"integrity":"sha512-hFVR+wbyE8CjSpC+PphHmFKRv+DBEx3Z2ycMdu87reiYd85V7eQNSw72LKoTgZlY/9hIWElJ/gZC7zyp/Xg7wg==","signatures":[{"sig":"MEUCIQCbNYsvuT67MAwCf8ELNTtBlqPqsSTp8MabRY178nfHFQIgCGUvy3pMW7CJ1KqACMCfjWOgqsCDVn4447IEU/U/Kjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":324097},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"3540d6bc22eafbce3976cd337853d1f04dc91ae0","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.0.1_1785065049108_0.1909200853597508","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"linkgravity","version":"1.0.2","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.0.2","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"045f3885f68ae0bc29900822a1d0a87ce35c9621","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.0.2.tgz","fileCount":43,"integrity":"sha512-SgwvTnB6IB0DnGKEHxhGrqiZSp5P/etLQTC2Per+VX3o8ensbKWn2/wHrM8U4GQOZDg0PaYfPiE+S0kixPPTug==","signatures":[{"sig":"MEYCIQDpzsTnXUFhw/A3DmjlcBuiG+U2mQdcB7PS37IHtCE0zQIhAJIYoRwa7GaGiGm/xAQWv50Sbn3DDPYCXMGzlQ3OhPw1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":324810},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"a437550549744ac6438e147f46cd2659ff604f1d","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.0.2_1785071808922_0.11213779886492503","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"linkgravity","version":"1.1.0","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.1.0","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"2353758ce24b9a78d0d2a63f4aa84fc44ee473c5","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.1.0.tgz","fileCount":43,"integrity":"sha512-CFKxPP2kuORfsyBhmw5rlha6a8tcoxhB1TwN1DneZVzmxZFvleRBuWGw65bUB1yy27TvFfQITFJLC9k2QIJ4dg==","signatures":[{"sig":"MEYCIQCMaN91+Iufyg9pPySf+6CgPOX7A4UL3VVR2VwUB/x7AwIhAO/bCYcn3yaKuLMyp6UTrVsDX9zFzq+gZ2lxPFqTMvav","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327196},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"7383e7e1c64ffaaac9fde53a65fa9d3dee98bf95","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.1.0_1785073001471_0.7770331188699018","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"linkgravity","version":"1.2.0","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.2.0","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"09d88ba5dab6099c60a869cfcb7ad7626f6c6f7b","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.2.0.tgz","fileCount":43,"integrity":"sha512-KeM4kxGVZ4tLnHX0X07/vjhbnrVLtKATq3P2gIByITuyDRNUl7TReOrVBBHPA5eam7Ug6+VafhyXRteLa0cl/Q==","signatures":[{"sig":"MEYCIQCEEJi4WsNmrj7hRW2cKxvOJ+m6XdKUyI7j59qfyDM0rgIhAND0GTzeLUiavOoBE5RWW9bAclAe1itygfD/g9Nw4jpP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327524},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"5d90045dd31199cc5c82aee6d10af73f41e481d6","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.2.0_1785073372188_0.8149464760453677","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"linkgravity","version":"1.2.1","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.2.1","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"de7db36e7d5aa2427edb6208c3790572bb3f8a3d","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.2.1.tgz","fileCount":43,"integrity":"sha512-h/8AbAZG/SamJip2VQ3Tv8aOKus3kAQvSW8K87HXytuMc+HMFxxXbQV4E7sWdaoe4Bn812toIQ40hu0HkRFZKA==","signatures":[{"sig":"MEUCIGiXk8DzczBYJcd8cYEjyef9jkkHGxm8jyn3y7sPaa7pAiEArWWjgI7Wdsh/MYYslluI0B0VGwrAd3DwZpF3OYDpMI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":328143},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"a319dd0dc51a086de4b2a7bfd805ea8c43b8c154","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.2.1_1785075874162_0.8051435079681462","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"linkgravity","version":"1.2.2","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.2.2","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"058916cc6a71d2dbc9be787e2aa2da965a30474b","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.2.2.tgz","fileCount":43,"integrity":"sha512-gEO8AKzaljZIgr7Y+mbNlEHrPON9HnbWqIyhPRoEnzL4OkcUvd5LD8VzmVX6IKOv1UfZCBpGWYcgTcLC6WQ79Q==","signatures":[{"sig":"MEYCIQCGI1mcxS3IOf16D0dXQNZavco2hWoOQGGWzjw9jt09RwIhAJKI6v8iStRl7TiNGe0wTsXN0CTXAB1ICPzne58wUhEW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":325960},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"db7a6a63c40ba67df01e76af4b901b7498723b62","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.2.2_1785119891559_0.6736595706158872","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"linkgravity","version":"1.3.0","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.3.0","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"21662d48c383ac0127c6b51a9677380587efaea1","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.3.0.tgz","fileCount":43,"integrity":"sha512-bObElpS6JOu5b1r9bRL5NOr1uyS2Q01IkmNiXl7yrrnWfj/DgfuE1S8VhcH/zxsDj86Rum3KnKlD3eCy9nxNow==","signatures":[{"sig":"MEUCIH1geQaB12MjpHqaYvhWPiUm1rUlCw5xPaqeV7veeWNlAiEA1Prv20l9fCHXdW8Eg4tUcdq6n+gsu9WAoJfwdagnahk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":329934},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"ac000c98274067cb081063c8441802f6cb62236b","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.3.0_1785138042025_0.8457414832247565","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"linkgravity","version":"1.4.0","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.4.0","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"15ed1d6cd870f2f9286cc0c41d7db23a1ad9e01c","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.4.0.tgz","fileCount":46,"integrity":"sha512-pzJhArO2Fe8FWKbo0TzHx51ekTOd32b6icOaAv5iDU7za5WN0rGkFTmneC7ctJ2yOg2cFbSWmHEi1ayhneJoRQ==","signatures":[{"sig":"MEUCIBf9KjxQRsIUeOidvUeD6IoO+MfokHLyRaUebpgQJFWTAiEA3mmSM7XJYIwRKuIlwPq5iTfn4WsmD7Qb+gWd9dA9vYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":371037},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"b419b664d18a2e50f8303dab10ebe5125b897014","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.18.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.4.0_1785329644370_0.29147359034000875","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"linkgravity","version":"1.4.1","keywords":["discord","discord-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.4.1","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"f47f81f91040cdc84f107a11b55e0765e63b0a16","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.4.1.tgz","fileCount":46,"integrity":"sha512-Kwshsfs2CaAJuv6TGDUgsaxG4tNnyeDtdryVtK7QvS367sI6qhxg3vn9RqgbxisXE3vvjShZS214pjvjiFkX4g==","signatures":[{"sig":"MEUCIQCTdoC6iTUifeBOExFf5jhxbyLAxhW+IuW6Lc2DgN4OnwIgGU2ssN3cdtbv5p/E01wE09lHyy1W3tuHhFb0vqg/u0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372957},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"a5dbd12b3ecfe07696c0e8452841d7fd1225077a","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.4.1_1785383313573_0.6423647592423511","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"linkgravity","version":"1.5.0","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.0","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"59fff0ca5cd407e93d23f9dcb60365ea54be3aa6","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.0.tgz","fileCount":49,"integrity":"sha512-b8+qK32mEk3QsmVxxUMPiPgO6vMyz3Lc4Rp9P4kx9TfTYc0AP8z6dHP2c/adetNuZ/Anv9X4STZpZC2GF+IfnQ==","signatures":[{"sig":"MEYCIQC5gXVDpDGdz1xqEFYgIvaJcsNzsyLZy7LK+IhuqepyswIhAK3OnvIKnQxLlJvTocjes8wirthar3nTFAq6cOf9yMPJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":407487},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"02478601b782c71ce334c31ff8fcca515bfd94ff","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.0_1785430556944_0.8897490435659277","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"linkgravity","version":"1.5.1","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.1","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"e50088a4099fb274c27818f11185149a4a6d44b8","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.1.tgz","fileCount":49,"integrity":"sha512-QDnnrze6jKVPIMNRycFqVZMhjKZO3GZGiDgXgOXMTduHqvuSu+0QZiKm6FQ4kCOOm60K+Mefm4BdKRajuvfFSg==","signatures":[{"sig":"MEQCIAMZRhW5JtkcjqnJ1+5P8kUvrOIcnWtBaE/9Eyu3g7JfAiBMRzALGnF9kINrEaucJw7b94WM8mBSahrp/bUSVmeeyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":377043},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"ca99dd528eeeb0543b0a99faadf86b12d7fe8ba0","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.1_1785513260666_0.6081137253925573","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"linkgravity","version":"1.5.2","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.2","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"431869e644c5d02dc745d2c2ceeb9816d50e0d16","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.2.tgz","fileCount":49,"integrity":"sha512-TYDXmWccHjBhAGOkn3YxfGLS+sdNfZA05cH8Qbw4upyxUkx4JTEISPfl7VXEI7fGMYgfOLHzgZIB7SxNlczXjg==","signatures":[{"sig":"MEQCIGjQHbh5hw3z17JCD1M4POGyTzEX5pdpvBQp/+gvLmFSAiBZj8jJS9M7fA7mR8T99tB0WcvtB0HxLIeXrn/xMD+hEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":377549},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"1bfe6f40149cd4f2f0cd91e368f45a0096391e1b","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.2_1785680683350_0.8452517782717546","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"linkgravity","version":"1.5.3","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.3","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"3ae8d3737c8240a18d1cf28a7892d16852e96cc5","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.3.tgz","fileCount":58,"integrity":"sha512-/sHoJ355GUXzEycyGFJKnkMlz53CY0pngj19dwxOaB04Q8sg24dOCGLznwgmI7BPWt9h0+DsEp6FSKUl7DmarA==","signatures":[{"sig":"MEUCIQCoFg6bmT3C2kTlFiZHuu294cpFlnT8esllxYDtuHyQFgIgBWMbBybjh6niRH/FhsXgl6dZJxyx+avopv20H4T1yo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":412401},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"b3aca9371dcf759c25e889fdce038aadb248cca9","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.3_1785683991488_0.959606252197561","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"linkgravity","version":"1.5.4","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.4","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"fce8d5befdd677bba728eea0776e2b7296249a67","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.4.tgz","fileCount":58,"integrity":"sha512-2+GTn2Jzqu7kl3qb2VrOws7nV9s36m33zkS9Sp0tn/CQpt/bWIlF7wuL5LTka9WkTq/wxAAsxgCuJDKr3Lr8gg==","signatures":[{"sig":"MEUCIGquZ/MvKrfzghDGzN7Lw5bGhbqfv3UffG+VkP8t1y0NAiEA1bK0ebdWFcIu+k/GQl4aVFnq7L87DNzmyK5ZibMJxXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414062},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"31f7196f076be393f93e573198373ecfac9708e6","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.4_1785692016830_0.9495439834354455","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"linkgravity","version":"1.5.5","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.5","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"6af19b6670fe5517a7f6f57c027377241ce85323","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.5.tgz","fileCount":58,"integrity":"sha512-exYR/oSNL6AK3/+/CiXssfn8cHki8XSHQLI1QfrWOMB/XRXV3TiRxcUdm8i+YoYmfJQp1z8aDjhs3wXTJVMe+w==","signatures":[{"sig":"MEQCIE+TaEDv7yQQ0usrDak8ty5rPv8ZT+39YaJyPxmG6p4LAiA6id657BWGVCFxzk4g+5l8jOv1HJ8S1RQh25wG7aOOlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":419976},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"6f095bedcbfa62f014f8508919161682927c927c","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.5_1785840801894_0.2801284653868308","host":"s3://npm-registry-packages-npm-production"}},"1.5.6":{"name":"linkgravity","version":"1.5.6","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.6","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"5a788a26438a22f745519f674bea666df6ce7398","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.6.tgz","fileCount":58,"integrity":"sha512-ZCYcZAfIBmxa/EdpNZr7n2YnPDHeVkkSd7x8DPaTBZQYUb4XUMuKIeh0pHEeUML662GiTFKrnh8pDoATy4OFDg==","signatures":[{"sig":"MEUCIQDs/+WdXBybbixvw+pKA7q5XlHa8abIPVjqftZvt4yrLAIgJWElZvHR0iv+zhbe/shZvvknnBIVDNEmrBTfrdUOSxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":419848},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"24a5f4253825e8db824d0fca45489d8fd20842a1","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","postinstall":"node npm-scripts/postinstall.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.6_1785847223791_0.8825144233119229","host":"s3://npm-registry-packages-npm-production"}},"1.5.7":{"name":"linkgravity","version":"1.5.7","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.7","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"989cf1cc3e8898f735c46fb26f369832677731ce","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.7.tgz","fileCount":58,"integrity":"sha512-hTYjMF64X3prD3/+GZsmkZrCYRoez8fki7aNT5idhLr0OO8u1lKC/owiddF4JDQVtXyVwH24xQa7V34HSfDvWw==","signatures":[{"sig":"MEYCIQD5+XjM6X6XL8whLBGYQFg8s2tOlf/JNx/ZooPONoPcLgIhAJpeJbaAcA8cITmxTsBTfGk0enZClQ9jssgNNx1YHr+n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421248},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"78fa088400d457371b70ec85743f29a113d2c933","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.7_1785941611468_0.6452861608010221","host":"s3://npm-registry-packages-npm-production"}},"1.5.8":{"name":"linkgravity","version":"1.5.8","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.8","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"e71d31236a7e5d6aaf3783cdc302a745c37e9af6","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.8.tgz","fileCount":58,"integrity":"sha512-6c6m4jWKNW5P+r2l3A+NmcFrY8IPy1BoKGCcBHZKhTkwH0I33pqINiw8v4cHlfodhXq/QKMFGugiN2FQ7tceug==","signatures":[{"sig":"MEUCIQDf1ttvv7aew1/7VBjuTx4YFzll49jGrco6X+nwd85SyAIgNGXiCOEJ0+KXOY1X+/6S8e0wafdvtLileTlXVKdB9oE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422260},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"fc5076d40f20807d55d23a0d24b1b650f5bb9b44","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.8_1786328868906_0.6745057392106517","host":"s3://npm-registry-packages-npm-production"}},"1.5.9":{"name":"linkgravity","version":"1.5.9","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.9","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"1ce0d55404ab05e39bae3f3db6916a8203a1d843","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.9.tgz","fileCount":59,"integrity":"sha512-lVyv8Z0+LjtY5Lj663eP/dYWbX0cf5Ptapx2i2bFaXMke4boPTFuxMmTcpLDz8R8ekEetVRSHKbSG8q5tVdENQ==","signatures":[{"sig":"MEQCIHn6pU1XFwxmCmorVBCRXwPg9ziU5wrQ5n+JKIFdiCjvAiBApV/5xLdnruGgahcLVFKWHzh7pQKN0ASOyAoQEKnyZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434090},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"c49ba93ae08c4a8346981cb2f92a9c658b3aca7a","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.9_1786557655653_0.1568055588941597","host":"s3://npm-registry-packages-npm-production"}},"1.5.10":{"name":"linkgravity","version":"1.5.10","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.10","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"470e91aa241dfe74a8cecc4d69aff976b818d755","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.10.tgz","fileCount":59,"integrity":"sha512-RmNUBZSugx3gJtbgQBBocYxXuVh9wjTUPiHOlntIUFI/64ss+hEkV34TM5bvvQqHewJVU1b5ICHQpXAWAMWBLA==","signatures":[{"sig":"MEUCIEWstUTIp0Nj8zdly6+XwGDJiEYojWMshCUaKiuewKIEAiEAhnZ0M/XucIhfMyFr9LXjq3quiNJoBZwegVYeM+nrx5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434672},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"8612858bae4a4453eb19fe0c65bac3bff022236f","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.10_1786559116019_0.9117483943997917","host":"s3://npm-registry-packages-npm-production"}},"1.5.11":{"name":"linkgravity","version":"1.5.11","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"author":{"name":"dev-sseul"},"license":"MIT","_id":"linkgravity@1.5.11","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"dist":{"shasum":"a51651708cbb2f1f49db84377e3193d61d3b9c69","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.11.tgz","fileCount":59,"integrity":"sha512-r1/e0pyrc+Mh+PgCKi5Ec5AYhUmb5lUPTJeSSXGxAsfI2zI6WxPXKSJhbzyAyNm16c3162izyPFousGQo38RHg==","signatures":[{"sig":"MEUCIQDGoqoYuRbkufjNY2puk9qzRFnEb8Ift2Kyg064IasCywIgdfPSLCuwUbtsIvexoBH+s4cLCiyDj0Q0igYjEH5ZSUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":435170},"engines":{"node":">=18.0.0","python":">=3.10"},"gitHead":"440ec7d8ff873c077eda9a299fdee26987777fe0","scripts":{"dev":"node npm-scripts/run-dev.js","start":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"repository":{"url":"git+https://github.com/dev-sseul/linkgravity.git","type":"git"},"_npmVersion":"11.19.0","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pm2":"^5.3.0","@clack/prompts":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/linkgravity_1.5.11_1786633917713_0.4169076116301593","host":"s3://npm-registry-packages-npm-production"}},"1.5.12":{"name":"linkgravity","version":"1.5.12","description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","scripts":{"start":"node npm-scripts/run-dev.js","dev":"node npm-scripts/run-dev.js","format":"prettier --write \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","format:check":"prettier --check \"bin/**/*.js\" \"npm-scripts/**/*.js\" \"voice-service/*.js\"","prepare":"node npm-scripts/prepare.js"},"author":{"name":"dev-sseul"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/dev-sseul/linkgravity.git"},"homepage":"https://github.com/dev-sseul/linkgravity#readme","bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"bin":{"lgy":"bin/cli.js","linkgravity":"bin/cli.js"},"engines":{"node":">=18.0.0","python":">=3.10"},"dependencies":{"@clack/prompts":"^1.7.0","pm2":"^5.3.0"},"devDependencies":{"prettier":"^3.3.0"},"gitHead":"9f533147136c8d7f1cc9c8a8f23b8ec0a7d5ffd5","_id":"linkgravity@1.5.12","_nodeVersion":"20.20.2","_npmVersion":"11.19.0","dist":{"integrity":"sha512-ct2HhRTxJMWyDcGcpJzOvFqOaZDsMj01acbakJZYsZtH2PXQtcHUxIhiQp9WyhoNtljKOU+JC1ICxtRuD/aMaQ==","shasum":"56f87dadb440c4b8ee92e1bb148a1afabb848c5c","tarball":"https://registry.npmjs.org/linkgravity/-/linkgravity-1.5.12.tgz","fileCount":59,"unpackedSize":435494,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/linkgravity@1.5.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD3zlAnN7ScFpI5Sdtcfs9TWtEV6+yoPzGH+4orIVmawAIhAOaWOfBIxxgX7IK1PCXIJOzRsXoPPdPEg8Qfb2pbPBzA"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f2a47bf-72b5-4584-93b7-aa791382a456"}},"directories":{},"maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/linkgravity_1.5.12_1786634785222_0.03887269210806621"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-26T08:47:53.625Z","modified":"2026-08-13T15:26:25.780Z","1.0.0":"2026-07-26T08:47:53.830Z","1.0.1":"2026-07-26T11:24:09.276Z","1.0.2":"2026-07-26T13:16:49.079Z","1.1.0":"2026-07-26T13:36:41.660Z","1.2.0":"2026-07-26T13:42:52.382Z","1.2.1":"2026-07-26T14:24:34.331Z","1.2.2":"2026-07-27T02:38:11.700Z","1.3.0":"2026-07-27T07:40:42.170Z","1.4.0":"2026-07-29T12:54:04.511Z","1.4.1":"2026-07-30T03:48:33.723Z","1.5.0":"2026-07-30T16:55:57.101Z","1.5.1":"2026-07-31T15:54:20.827Z","1.5.2":"2026-08-02T14:24:43.519Z","1.5.3":"2026-08-02T15:19:51.626Z","1.5.4":"2026-08-02T17:33:36.973Z","1.5.5":"2026-08-04T10:53:22.045Z","1.5.6":"2026-08-04T12:40:23.927Z","1.5.7":"2026-08-05T14:53:31.602Z","1.5.8":"2026-08-10T02:27:49.143Z","1.5.9":"2026-08-12T18:00:55.796Z","1.5.10":"2026-08-12T18:25:16.165Z","1.5.11":"2026-08-13T15:11:57.914Z","1.5.12":"2026-08-13T15:26:25.366Z"},"bugs":{"url":"https://github.com/dev-sseul/linkgravity/issues"},"author":{"name":"dev-sseul"},"license":"MIT","homepage":"https://github.com/dev-sseul/linkgravity#readme","keywords":["discord","discord-bot","telegram","telegram-bot","antigravity","agy","cli","voice","ai-agent"],"repository":{"type":"git","url":"git+https://github.com/dev-sseul/linkgravity.git"},"description":"Discord/Telegram bot bridge for the Antigravity (agy) CLI, with voice interaction support","maintainers":[{"name":"sseuldev","email":"sseuldev@gmail.com"}],"readme":"# LinkGravity\n\nA Discord, Telegram, and Slack bot interface for the Antigravity agentic AI system. It translates Antigravity CLI prompts into chat UI components and provides voice interaction capabilities.\n\n![Tool approval buttons and session threads in Discord](https://raw.githubusercontent.com/dev-sseul/linkgravity/main/docs/images/approval-flow.png)\n\n## Features\n\n- **Sessions as Threads:** Each `agy` conversation lives in its own thread, so several can run side by side and stay readable later. Threads get named from what you actually talked about instead of staying `Session-XXXX`.\n- **Approval Flow:** Command and tool-call approvals become interactive chat buttons. Chained shell commands are approved individually, and any approval can be scoped to auto-allow that command or tool going forward - something plain `agy` doesn't do.\n- **Voice Interaction:** Talk to the agent from a Discord voice channel and hear its replies. Say your wake word to get its attention, so side conversation in the channel doesn't set it off.\n- **Multi-Modal Input:** Attach files for the AI to read, including audio, which gets transcribed to text automatically.\n- **Same Agent as Your Terminal:** Reads the `agy` setup already on the machine, so sessions started from chat use the same models and settings you use locally.\n\n## Supported Platforms\n\n|                           | Discord | Telegram | Slack   |\n| ------------------------- | ------- | -------- | ------- |\n| Sessions                  | Threads | Flat     | Threads |\n| Voice                     | ✓       | ✗        | ✗       |\n| Approval buttons          | ✓       | ✓        | ✓       |\n| File attachments          | ✓       | ✓        | ✓       |\n| Session title auto-rename | ✓       | ✗        | ✓       |\n| DMs                       | ✓       | ✓        | ✓       |\n| Group                     | ✓       | ✗        | ✓       |\n\n## Requirements\n\n- Node.js >= 18\n- Python >= 3.10\n- Antigravity CLI installed on this machine\n- A messenger bot token, and at least one server/channel to allow it in - Discord, Telegram, and Slack are all supported, and you can enable more than one at once\n\n### Creating the Discord bot\n\nIn the [Discord Developer Portal](https://discord.com/developers/applications):\n\n1. **New Application**, name it, then go to **Bot** in the left sidebar.\n2. Under **Privileged Gateway Intents**, enable **Message Content Intent** - required, since the bot reads message text/attachments.\n3. Click **Reset Token** to reveal the bot token, and copy it - this is what goes into `lgy setup`'s `discord_token`.\n4. Go to **OAuth2 > URL Generator** in the sidebar. Under **Scopes**, check **bot** and **applications.commands**. Under the **Bot Permissions** box that appears below, check:\n    - Send Messages, Send Messages in Threads, Create Public Threads\n    - Read Message History, Attach Files, Embed Links, Add Reactions\n    - Connect, Speak (for voice channel support)\n5. Copy the **Generated URL** at the bottom of that page, open it in a browser, and invite the bot to your server.\n\n### Creating the Telegram bot\n\nMessage [@BotFather](https://t.me/BotFather) on Telegram, send `/newbot`, and follow the prompts to get a bot token. No further permission setup is needed - Telegram sessions are 1 chat = 1 session, so just message your bot directly (or add it to a group) and run `/new`.\n\n### Creating the Slack app\n\nSlack has more moving parts than the others - two separate tokens, and a few settings pages that gate each other. Going in this order avoids re-doing steps:\n\n1. Go to [api.slack.com/apps](https://api.slack.com/apps) > **Create New App** > **From scratch**, name it, and pick your workspace.\n2. **Socket Mode** (left sidebar) > toggle it on. This avoids needing a public HTTP endpoint. Slack will prompt you to generate an app-level token here - name it anything, add the `connections:write` scope, and **Generate**. Copy this token (starts with `xapp-`) - this is `slack_app_token`.\n    - If it doesn't prompt you, go to **Basic Information > App-Level Tokens > Generate Token and Scopes** instead.\n3. **OAuth & Permissions** (left sidebar) > scroll to **Scopes > Bot Token Scopes** (not **User Token Scopes** - that's a different section further up the page, for a different token, and is not used here). **Add an OAuth Scope** for each of: `chat:write`, `channels:history`, `groups:history`, `im:history`, `mpim:history`, `reactions:write`, `files:read`, `files:write`.\n4. Scroll to the top of that same page > **Install to Workspace** > **Allow**. This generates the token under **OAuth Tokens > Bot User OAuth Token**, starting with `xoxb-`. Copy that one - this is `slack_bot_token`.\n    - It's easy to grab the wrong token here - the page also shows a **User OAuth Token** (`xoxp-...`) further down, which is a different thing and won't work for this bot.\n5. **App Home** (left sidebar) > under **Show Tabs**, turn on **Messages Tab**, then check **Allow users to send Slash commands and messages from the messages tab** - this is what lets you DM the bot at all. (If this section looks greyed out, it's because step 3 hasn't been saved/installed yet - go back and do that first.)\n6. **Event Subscriptions** (left sidebar) > toggle **Enable Events** on > under **Subscribe to bot events**, add `message.channels`, `message.groups`, `message.im`, and `message.mpim` > **Save Changes**.\n7. **Slash Commands** (left sidebar) > **Create New Command**, four times, for `/new`, `/model`, `/credit`, and `/permissions` (any description/hint text is fine - only the command name matters).\n8. Back on **OAuth & Permissions**, since scopes/events changed after the initial install, click **Reinstall to Workspace** to push those changes live. Any time you change scopes or events later, you'll need to repeat this step.\n9. In Slack itself, for any **channel** (not DM) you want the bot usable in, run `/invite @<your bot's name>` there first - the bot can't post in a channel it hasn't been added to.\n\n## Installation\n\n```bash\nnpm install -g linkgravity\n```\n\nSets up its own Python environment automatically - no manual `pip install` needed.\n\n## Setup\n\nRun the configuration wizard once to pick which platform(s) to enable and set their tokens, allowed users, and other settings:\n\n```bash\nlgy setup\n```\n\nThis writes to `~/.gemini/linkgravity/lgy.json`, outside the package directory, so `npm update`/reinstall never touches it. You can re-run `lgy setup` any time to change settings later - each field keeps its current value if you leave it empty. Discord, Telegram, and Slack can all be turned on independently; the bot runs whichever ones are enabled in a single shared process.\n\nFor Discord, during setup you'll be asked for one or more servers to allow, and optionally specific channels within each:\n\n- Leave the channel list empty for a server → **the whole server** is allowed - any channel can start a session.\n- List specific channel IDs for a server → **only those channels** in that server are allowed.\n\nTelegram and Slack have no server/channel gating yet - every chat/channel you message the bot from can start a session, subject to the allowed-users list you set during setup.\n\nA new session is started with the **`/new`** slash command - never just by typing a message. On Discord and Slack, `/new` works both in a regular channel and from inside an existing thread; on Telegram, it applies to whichever chat you send it in.\n\n## Usage\n\n```bash\nlgy start      # Start the bot as a background daemon via PM2\nlgy stop       # Stop it\nlgy restart    # Restart it\nlgy logs       # View live logs - add -f to follow, --tail N for more lines\nlgy enable     # Register the bot to auto-start on system boot\nlgy disable    # Remove it from system boot\nlgy            # Interactive menu - same commands, picked from a list\n```\n\n## Development\n\n```bash\nnpm i\n```\n\nThat's it - it wires up [Ruff](https://docs.astral.sh/ruff/) for Python and [Prettier](https://prettier.io/) for Node, plus git hooks that lint/format on commit and enforce [Conventional Commits](https://www.conventionalcommits.org/) commit messages.\n\n## Debugging\n\n```bash\nLOG_LEVEL=DEBUG lgy start\n```\n\nUse `lgy logs -t` to include timestamps.\n\n## Security Warning\n\nThis bot gives an AI agent broad access to the machine it runs on - **that's inherent to what it does, so don't expose it publicly or run it somewhere you don't fully trust its users.**\n\n- The allowed-users list for each platform, set via `lgy setup`, is your primary access control - always set it.\n- Tool calls, including shell commands, go through an approval flow by default; treat anyone on an allowed-users list as having effectively full control of this machine.\n- Your bot tokens and other settings live in `~/.gemini/linkgravity/lgy.json`, outside this repo/package directory - never commit or share that file.\n","readmeFilename":"README.md"}