{"_id":"@blaze283/social-agent-plugin","_rev":"18-f67215812ef0ff02f0966c87537e9918","name":"@blaze283/social-agent-plugin","dist-tags":{"latest":"0.7.4"},"versions":{"0.1.0":{"name":"@blaze283/social-agent-plugin","version":"0.1.0","keywords":["paperclip","plugin","connector"],"author":{"name":"Plugin Author"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.1.0","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"54c435806f494cc65a3ddc3aa189db5c804be14b","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.1.0.tgz","fileCount":11,"integrity":"sha512-mvMnJe1ANDkTdjBPrO0QcADJEseI4Wqw2FXzRXYgCuXr9dov+v8FOD+R78FuoH6AHPuWygPjdcGzqi4vzC5KWA==","signatures":[{"sig":"MEYCIQDuNfCg3pCDM2wDxVnW0+oicckRgK2xD9c7654MWib+wAIhAKvVtPyRO6sNVrix3LM7UETubNXOqK8mn+QeuY8Sw8nE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":965104},"type":"module","gitHead":"18154ef0a97d1ddfb342b8ae149d985ee92540c2","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.1.0_1777893647563_0.7921480553718714","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@blaze283/social-agent-plugin","version":"0.1.1","keywords":["paperclip","plugin","connector"],"author":{"name":"Plugin Author"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.1.1","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"3307921d903170f14b6ad50d17dc01a80bb6f4c6","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.1.1.tgz","fileCount":11,"integrity":"sha512-OOAu1jQDUYwMlfWBftqKcK0dni/IVJVVRMhVXJykh1/Zyx6L13tffQlie4bbkbg+ktY4vIqvb/2yyBh+hkk2lg==","signatures":[{"sig":"MEUCIGsvYBki5ep/RPn+VTQoY2jqyd1A53lsy83Z8HPompKIAiEA94k5Nbv6+DPO1M0u8QMWqJ7m8wk0cs0jxwEx57b0BQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":964709},"type":"module","gitHead":"561c4f7428b7e9aaf781d0b383f78f82ad5cc6fa","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.1.1_1777894383868_0.2151582933653935","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@blaze283/social-agent-plugin","version":"0.1.2","keywords":["paperclip","plugin","connector"],"author":{"name":"Plugin Author"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.1.2","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"7c993c6ca0f1550c0e0763a94af955b8375e4b1d","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.1.2.tgz","fileCount":11,"integrity":"sha512-1aASQvABJ+CW8bi+rDKa3JIXRFC4uRSerT8bC348aykZ2NFHn5PPhwQTEISimB1CaPeZwHADwJnDyOaTRsHkxQ==","signatures":[{"sig":"MEYCIQC8LTn289OfZbeqVFiGCI9qxU0nHsDrzTxMxE9MrbXyfwIhAJhhgb4es4+MCva5sTiSrEpbbnBOBZDWjP+PJKHphLVy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":965090},"type":"module","gitHead":"02e9121b565d14a192306147de6099c06898dab7","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.1.2_1777895235730_0.5650153214867486","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@blaze283/social-agent-plugin","version":"0.1.3","keywords":["paperclip","plugin","connector"],"author":{"name":"Plugin Author"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.1.3","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"18d52fa3cae7a0a8753efbb7c7eda73d1d508324","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.1.3.tgz","fileCount":11,"integrity":"sha512-rLBoHkdCsNv18pPQZk9tvDhKoAokWVbGIeZFEDFaE3TYZKmjO7XUiMNIj1Y235LYPVhyVpOJyXJ8c5p7W97SCA==","signatures":[{"sig":"MEUCIFHrC7tezB7UmrnUIKoMuyzU9pcWZpik0vQ9j79cPuWlAiEA0LzfQbeFpe+/ANand9YAJ/VroeGA/id8aDNSjXDlrDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":965350},"type":"module","gitHead":"9a5d71f6d30fcdc5b4e74e9d3634ecfc002db429","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.1.3_1777895666050_0.009131510555987044","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@blaze283/social-agent-plugin","version":"0.3.0","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.3.0","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"a4ce9f52c9b3bcacf4e53de0429e9bd096495a29","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.3.0.tgz","fileCount":11,"integrity":"sha512-N0DXvrbu+1gnRAdcYysKyDqnv8s/UxwyWui6IUqdRmBMUG4NtOYyVNdMs8c1b4DHe260PHnVf1nKqla4t6Ehyw==","signatures":[{"sig":"MEUCIQCqmbfIZohaK3jLzBff0Drs5KT7XHAxnf9JTAPJwDZCnwIgdr5Jyx+z0lWqbxT4ewvCziIP19NSWMJv8gALt5o9nqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995307},"type":"module","gitHead":"6675b396bc4cc599d3ec266d71b77091a076ce65","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.3.0_1777975455675_0.16031684800642831","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@blaze283/social-agent-plugin","version":"0.3.1","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.3.1","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"76ec94455f533cb4e2ef541389381bfc288e9c6b","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.3.1.tgz","fileCount":11,"integrity":"sha512-U3KpDtDJehnwIFGM1j0LDtjqRvpKvZP4Mpwymkih0lBOrx4hXywTIJ+7bTL1ovviUT/cM7uXFAfB5u0T+ClY1A==","signatures":[{"sig":"MEQCICeOWmq5i1LkqliyAnIsJh9zW6dlnjan7A50pMgpASviAiBTxxLw3rLVNZPiu8jwm9BeoEq7jqs4LNs1XMZ+JyQTqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995315},"type":"module","gitHead":"0e9cd6c86963b06dfb558e889135478ff31adfad","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.3.1_1777976999342_0.3420146182350936","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@blaze283/social-agent-plugin","version":"0.4.0","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.4.0","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"a785ca5bd0f2ab65e8b056f842326314a4a24da3","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.4.0.tgz","fileCount":11,"integrity":"sha512-PoAb3W9aU/WtID88zR03QHHk2eLTn7y8f3gWSN1G2OeL59UO+JI5QqodixJQyJRHYhBjUCsUIb1cU0RLqPNGdA==","signatures":[{"sig":"MEUCIGfBl7iBYi4DGd5jvTSDL0LVI3PN4zCdNK9/aYfzRZLtAiEAqHQ8P5bZhYdxE5OOJhCq+k4DB+Qiva4yEfVf1HmWso0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1040551},"type":"module","gitHead":"65820acda654f24883c7af03a55ef937082ea387","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.4.0_1778481594362_0.4520388238807902","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@blaze283/social-agent-plugin","version":"0.4.1","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.4.1","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"6d776739d87474ce07c7c1334b7a13535787bde3","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.4.1.tgz","fileCount":11,"integrity":"sha512-KUaUlx05cuAoAUEHruj0cWR74M0v3G0/e1D1Wpdc6i3seIvbLuueP0kHrLG8laUKisSd8Z25VsRPGWoO8s1qIQ==","signatures":[{"sig":"MEYCIQCe+o8vGndXy4mvSRrbqazB8uVIBeGI/+8ys79oBndNGQIhANmRulL0DFjHc+gwPC2ZuCnGnqDrF74RADSSjexyaD4z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041358},"type":"module","gitHead":"65820acda654f24883c7af03a55ef937082ea387","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.4.1_1778514640832_0.8220604257402573","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@blaze283/social-agent-plugin","version":"0.4.2","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.4.2","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"ad0914b1be9ca42e60eb9b6ea187854cf3b1279c","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.4.2.tgz","fileCount":11,"integrity":"sha512-APOTG7P7EpgvG57XfHPmlBvyI15GXgY8FK1CpXW9zGDBqHml3rou95YnqEH8NumoHqrt46SMuRufs3ZSQFTyOg==","signatures":[{"sig":"MEQCICLkMB0vkHcqGw3V9MeTJR6oKiafJduHOG7T3B+tAHsgAiAIbaaXzVMTHKYLCaL3VyP7MKJCXgWt2X3Aaqv706SUAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1041358},"type":"module","gitHead":"4cc81c09b09bfdf8aca60fed3e45eb36df979690","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.4.2_1778514795885_0.47791322302510886","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@blaze283/social-agent-plugin","version":"0.5.0","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.5.0","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"2c31d16d3153baa2b24f276e9ee3aff7db54ce59","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.5.0.tgz","fileCount":12,"integrity":"sha512-Vz8TY6Ynl5IjZOoU5vbm1GTb8ggwBgSh31YIqzA9MPlk73A7OerPHW9qYxVxqg2ZoLM27bT5n9huoys7iyUkIQ==","signatures":[{"sig":"MEYCIQCBm/e7qfrXE/m2DbueU34W0P35vuzla+RXPCPh2Efi+AIhAO15MW0+VNqovurw/ONgy8X6QczGBlT3weOgMfY2Rq34","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1259494},"type":"module","gitHead":"1ceb4d09bb99834661671c36f03fa71a2c1da18a","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.5.0_1778533810018_0.9523513905896799","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@blaze283/social-agent-plugin","version":"0.5.1","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.5.1","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"398a2bb78bfe7c0d7e49c2289ca8798e66e068cc","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.5.1.tgz","fileCount":12,"integrity":"sha512-aCcXXxAvZJV9iMbq2SFxdW4IVMjrzH4rm+MAXqbALYqMvhhHWToqufrsvsoZtwa7gDEjM/tDjYAt8bYNM0GQ1w==","signatures":[{"sig":"MEUCIHDNk9MF7PcLW4kEY3pmWeW0ngRXZuJhkAu40RytaRO2AiEAte4avnOSTQq8kpAwd/qVKzP2gx7KHg+uoju8MMhWMbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1259603},"type":"module","gitHead":"fe0adc7b4fe441992004a078a5ae963bb7b15c89","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.5.1_1778560167281_0.5148272913615284","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@blaze283/social-agent-plugin","version":"0.5.2","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.5.2","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"3b3029e745fcf91497bfef2bf7bfc1b21e24cc4b","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.5.2.tgz","fileCount":12,"integrity":"sha512-u7eT2xuYC+ibQoLpqCqNhLqQKvZuWFIiGcTTvd2axx13Y8hhVm3Tei2+ZnAA3Au/oL4O0uEBLfDfToqIZDBaRA==","signatures":[{"sig":"MEQCICu04PB/4NjlgVOjgWt2S4iEAQTh3OuxqmMGwMPsSjEwAiBNk+F2ttJ9DeCzju/MynTNZKcNcc4H9fIlVZpkffOQmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1260473},"type":"module","gitHead":"065ab2e8ad12a9d77e22c27e8f039d43c205a8e8","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.5.2_1778571114312_0.19120562019160459","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@blaze283/social-agent-plugin","version":"0.6.0","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.6.0","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"bf9ec1b2861ff0ee431bb1559f0b65c4a2a4c8f9","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.6.0.tgz","fileCount":12,"integrity":"sha512-rYHx8d3nhNY682AkIx9xc7FARbK29YV9TR21aHWaG2wqv/ASQA8gs8mI2UIvBhJYHv145RF6ByJeqn1gjKE/6w==","signatures":[{"sig":"MEUCIHYhrGEt226opnEc+SqFpPEAXzshIfuwL/Isnt1/EAt0AiEA5gp/m+N3zzFXRXsHs6cmCyPPzyFz7XTsNVeyw5j5QEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1299949},"type":"module","gitHead":"68e1d2e382b358cc084568965775decc785cd2a0","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.6.0_1778762813921_0.3619125411603361","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@blaze283/social-agent-plugin","version":"0.7.0","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.7.0","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"429b57286354c7fcb3b80d6086a061dd244a11ca","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.7.0.tgz","fileCount":13,"integrity":"sha512-KtlU4vcHqUPAMniOspe1GF3oqCSU6vbJHxax5Bi/Q7lY5TKpLcUwqmvXk8Gw1GNYXmjiecawRdiO59DKNyGCew==","signatures":[{"sig":"MEYCIQCIO8WK2RhuiORvBhNmklTEzVBBIhAgi9cqKag7/GugZAIhAIfm/LRoh+It/SychZDi4FLz4s6+l/THvKJYMdUB0j+E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1488594},"type":"module","gitHead":"edf1304afa4e3496c7761bfe91f549bd3e87caca","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.7.0_1778838254265_0.38785949091658756","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@blaze283/social-agent-plugin","version":"0.7.1","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.7.1","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"05d4631729360def0387d36552365253ce6c5b6e","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.7.1.tgz","fileCount":13,"integrity":"sha512-/R+gEq/DJlXT0PpTT7NWt6UgcjlnJ/4I0ZfDnMX4QcG4u37ojKkCfBgpvapk9MA3tnyn7k36wItJUmnurY0CQg==","signatures":[{"sig":"MEUCIQDNWOubuYCreInkUToRv8L5yHqxng9YnaDPV9Srg/hdvQIgFRU3797gyuMpmfGJ/iwHE9GeDfNwf9GlhvIB6czBK9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492123},"type":"module","gitHead":"dfab0efae50257ba84a63f33fcc4d05e4f81819a","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.7.1_1779096308579_0.09053289697625289","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@blaze283/social-agent-plugin","version":"0.7.2","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.7.2","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"4f157499bff6875f264825ea6d5cff012383f411","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.7.2.tgz","fileCount":13,"integrity":"sha512-rsibYwByBhcyhS4ZmNAsggZcxTCAW5KFCGGKjvRJwkuRgvevnxmTX29Izt7eC79X0MZOpNz3snb+x6yyeTlgNA==","signatures":[{"sig":"MEQCIFvKS2Z4jcqU6KvypHb1JvZRZl4QP7QfSE9xzYvTfaJNAiBVqK4SZqmyMlOcmlbBlYvPgxJbkUXqZ5rJp1ZH+8fOoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492123},"type":"module","gitHead":"880d4402e1c87e3549c404811d1ebca3b2f5ff19","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.7.2_1779099003884_0.969497387990679","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@blaze283/social-agent-plugin","version":"0.7.3","keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","_id":"@blaze283/social-agent-plugin@0.7.3","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"dist":{"shasum":"3d4444e8882149c4d00928491bd82fbff3e8e5ec","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.7.3.tgz","fileCount":13,"integrity":"sha512-v0pIpzSVkQ0cA1oB+cE579Qqv1yH53tQKATXkuUOKZIQbrDXL1esno2oNgyYkR27wJ9UMAGOGeSbkiaryTWCOw==","signatures":[{"sig":"MEYCIQDAPVS0InPJvnRIYViP5uuab9cS2P37R+qIMs1iVNvGZgIhAL7YioRsmDPbNkKMOOjDF+kZ4kF2b3EOfQt8eTPOgGC/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492455},"type":"module","gitHead":"7fb8e708cb5565eada8dde50b36fd122d1d4975d","scripts":{"dev":"node ./esbuild.config.mjs --watch","test":"vitest run --config ./vitest.config.ts","build":"node ./esbuild.config.mjs","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","typecheck":"tsc --noEmit","build:rollup":"rollup -c","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"_npmVersion":"11.7.0","description":"A Paperclip plugin","directories":{},"_nodeVersion":"22.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","rollup":"^4.38.0","vitest":"^3.0.5","esbuild":"^0.27.3","typescript":"^5.7.3","@types/node":"^24.6.0","@types/react":"^19.0.8","@paperclipai/shared":"^2026.428.0","@paperclipai/plugin-sdk":"^2026.428.0","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1"},"paperclipPlugin":{"ui":"./dist/ui/","worker":"./dist/worker.js","manifest":"./dist/manifest.js"},"peerDependencies":{"react":">=18","@paperclipai/plugin-sdk":"^2026.428.0"},"_npmOperationalInternal":{"tmp":"tmp/social-agent-plugin_0.7.3_1779105592610_0.7962538401843446","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@blaze283/social-agent-plugin","version":"0.7.4","type":"module","publishConfig":{"access":"public"},"description":"A Paperclip plugin","scripts":{"build":"node ./esbuild.config.mjs","build:rollup":"rollup -c","dev":"node ./esbuild.config.mjs --watch","dev:ui":"paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177","test":"vitest run --config ./vitest.config.ts","typecheck":"tsc --noEmit","prepublishOnly":"pnpm typecheck && pnpm test && pnpm build"},"paperclipPlugin":{"manifest":"./dist/manifest.js","worker":"./dist/worker.js","ui":"./dist/ui/"},"keywords":["paperclip","plugin","connector"],"author":{"name":"blaze283"},"license":"MIT","devDependencies":{"@paperclipai/shared":"^2026.626.0","@paperclipai/plugin-sdk":"^2026.626.0","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.2","@types/node":"^24.6.0","@types/react":"^19.0.8","esbuild":"^0.27.3","rollup":"^4.38.0","tslib":"^2.8.1","typescript":"^5.7.3","vitest":"^3.0.5"},"peerDependencies":{"@paperclipai/plugin-sdk":"^2026.626.0","react":">=18"},"gitHead":"bfa50092026c17761f03e90346a47f5510c7af6b","_id":"@blaze283/social-agent-plugin@0.7.4","_nodeVersion":"22.16.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-VxRNQZgJihipHWD96ktFmYZCc+w7wfE9nFjt7rcYm3/LM0mYge5svXYtl+ltMLgoAilC/TrRFfjDA3lLURA0XQ==","shasum":"4624514c7ae7348e11e113b93375862ccd231b64","tarball":"https://registry.npmjs.org/@blaze283/social-agent-plugin/-/social-agent-plugin-0.7.4.tgz","fileCount":13,"unpackedSize":1677456,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC0BXSK0Xf6cOa0JbGLhef6mTCBiHjeP/Coz+JiM+AcwgIgRuBeg9n0+XxqxAbF5SFv3q9kjQofJ5LeJvrzXaD/1q8="}]},"_npmUser":{"name":"blaze283","email":"naik.tanmay283@gmail.com"},"directories":{},"maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/social-agent-plugin_0.7.4_1783403774049_0.43405840269000895"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-04T11:20:47.420Z","modified":"2026-07-07T05:56:14.368Z","0.1.0":"2026-05-04T11:20:47.767Z","0.1.1":"2026-05-04T11:33:04.035Z","0.1.2":"2026-05-04T11:47:15.923Z","0.1.3":"2026-05-04T11:54:26.205Z","0.3.0":"2026-05-05T10:04:15.832Z","0.3.1":"2026-05-05T10:29:59.479Z","0.4.0":"2026-05-11T06:39:54.531Z","0.4.1":"2026-05-11T15:50:40.979Z","0.4.2":"2026-05-11T15:53:16.101Z","0.5.0":"2026-05-11T21:10:10.236Z","0.5.1":"2026-05-12T04:29:27.429Z","0.5.2":"2026-05-12T07:31:54.474Z","0.6.0":"2026-05-14T12:46:54.069Z","0.7.0":"2026-05-15T09:44:14.611Z","0.7.1":"2026-05-18T09:25:08.787Z","0.7.2":"2026-05-18T10:10:04.094Z","0.7.3":"2026-05-18T11:59:52.832Z","0.7.4":"2026-07-07T05:56:14.248Z"},"author":{"name":"blaze283"},"license":"MIT","keywords":["paperclip","plugin","connector"],"description":"A Paperclip plugin","maintainers":[{"name":"blaze283","email":"naik.tanmay283@gmail.com"}],"readme":"# @blaze283/social-agent-plugin\n\nA Paperclip plugin that gives agents the ability to publish to and react on social channels on behalf of connected human accounts, and surfaces engager-level analytics on the company's tracked posts. The plugin owns OAuth credentials, refreshes tokens at request time, encrypts tokens at rest, and makes the actual outbound HTTP calls to channel APIs. Agents drive it via tools; the operator drives analytics refresh via a paperclip routine.\n\nLinkedIn is the only channel today; the architecture is multi-channel — additional channels plug in as adapters without schema rewrites or manifest changes.\n\n---\n\n## What it does\n\n### LinkedIn integration\n- **OAuth 3-legged flow** (default scopes `openid`, `profile`, `email`, `w_member_social`; overridable per `oauth/start` call) — start, complete, persist a connection per LinkedIn person URN.\n- **Multi-account per company** — a single Paperclip company can have multiple LinkedIn connections (different employees, different LinkedIn pages-as-people).\n- **Personal-feed publishing** (`linkedin-post`) — text posts, public or connections-only, up to 3000 characters.\n- **Post reactions** (`linkedin-react`):\n  - `LIKE` (default) — uses `POST /v2/socialActions/{shareUrn}/likes`. Covered by the basic member-social posting scope.\n  - `PRAISE` / `EMPATHY` / `INTEREST` / `APPRECIATION` / `ENTERTAINMENT` — use `POST /rest/reactions`. Requires additional LinkedIn permissions on the configured app; returns `REACTION_FORBIDDEN` if the app lacks them.\n\n  Idempotent on 409/422 (\"already reacted\") via heuristic body match. Accepts URLs or URNs (`urn:li:activity:…`, `urn:li:share:…`, `urn:li:ugcPost:…`, `https://www.linkedin.com/feed/update/…`, `https://www.linkedin.com/posts/<slug>-activity-<id>-<hash>/`).\n- **Post comments** (`linkedin-comment`) — top-level text comments with optional inline @-mentions when the caller supplies target URNs. Non-idempotent; the agent decides whether to retry.\n- **Token refresh** — automatically within 7 days of expiry, using the encrypted refresh token; failures mark the connection `expired` and surface `REFRESH_FAILED` to the caller. `AUTH_REVOKED` from LinkedIn marks the connection `revoked`.\n\n### Analytics page\n- **Tracked posts** — every post the plugin publishes via `linkedin-post` is tracked automatically. Operators paste any LinkedIn URL on the Analytics page to track an external post.\n- **Engager classification** — engagers (reactors + commenters) are classified by ICP (`lead` / `influencer` / `competitor` / `none`) and region (`us` / `eu` / `apac` / `other`). Classification is performed by an operator-configured paperclip routine.\n- **Triage workflow** — each engager has a per-board triage state (`none` / `saved` / `dismissed` / `contacted`), edited inline in the Analytics page.\n- **Daily metric buckets** — reactions, comments, leads, and influencers bucketed by day over the last 7 / 14 / 30 days, with sparkline rendering on metric cards.\n- **Operator-driven refresh** — the actual data collection (LinkedIn scraping, ICP classification) runs in a paperclip routine that the operator configures. The plugin provides agent-auth endpoints for the routine to write into; the SettingsPage section walks the operator through the setup with a copyable routine prompt.\n\n### Leads page\n- **One lead per person** — when an engager is classified `icp_class='lead'`, the plugin upserts a `lead` row keyed by `(company_id, profile_urn)` so multiple engagements on different posts collapse into a single lead.\n- **Issue-per-lead** — on first classification, the plugin creates a `[LEAD] {name}` paperclip issue under the configured Leads project, assigned to a configured agent. The issue body carries the engagement context and the exact agent-auth endpoint for writing back drafts.\n- **Cold-DM drafting** — the assignee agent reads the lead context and POSTs three cold-DM variants back to `/leads/agent/:leadId/dm-suggestions`. Drafts are stored on the lead row; the lead transitions `new → dm_drafted`.\n- **Lifecycle** — `new` → `dm_drafted` → `contacted` (operator confirms the message went out). Archive on demand; restore when a fresh lead-classified engagement reappears for the same profile.\n- **Auto-archive on orphan** — if the last `icp_class='lead'` engagement for a profile is reclassified away, the lead is auto-archived with `archived_reason='orphaned'` and the underlying issue is cancelled (best-effort).\n\n### Cross-channel\n- **Token-at-rest encryption** — AES-256-GCM envelope under a per-instance DEK (config `dekRef`). Tokens are never plaintext on disk; AAD binds ciphertext to `(companyId, ownerUserId, channel)`.\n- **Audit log** — every attempt/success/failure/disconnect/analytics-event is appended to a per-company append-only audit log surfaced through `/audit/recent` and the plugin UI.\n- **Daily reconciliation** (`reconcile-connections` cron, `0 3 * * *`) — sweeps connections approaching expiry, flags revoked tokens, refreshes where it can.\n- **Plugin UI** — Social Accounts page (`/social`), Analytics page (`/analytics`), Leads page (`/leads`), OAuth callback (`/social-callback`), settings page, three sidebar entries.\n\n---\n\n## Architecture\n\n```\nagent (Claude Code, etc.)\n  │   stdio MCP\n  ▼\n@blaze283/social-agent-mcp                         ← thin wrapper\n  │   HTTP, agent's bearer token\n  ▼\nPOST /api/plugins/<pluginId>/api/tools/dispatch    ← this plugin, auth: \"agent\"\n  │   in-process RPC into the worker\n  ▼\nplugin worker (this package)\n  │   AES-GCM decrypt → access token\n  ▼\napi.linkedin.com\n```\n\nThe plugin is the credential vault. Tokens never leave the worker process unencrypted; OAuth flows, refresh, and outbound channel calls all happen here.\n\nThe analytics refresh routine runs outside the plugin in its own paperclip routine. It reads/writes through the agent-auth analytics endpoints (`/analytics/agent/...`).\n\n---\n\n## Tools\n\nDeclared in `manifest.tools` and registered via `ctx.tools.register()`. Each is also reachable through the agent-auth dispatch route.\n\n### `social-list-channels`\n\nReturns the channels this plugin's adapter registry supports and whether each is enabled in the current Paperclip instance.\n\n- **Parameters:** none.\n- **Returns:** `{ data: { channels: Array<{ channel, displayName, enabled, postToolName }> } }`\n\n### `social-list-connections`\n\nLists connected accounts on a channel within the current company.\n\n- **Parameters:**\n  - `channel: string` (required, e.g. `\"linkedin\"`)\n  - `status?: \"active\" | \"expired\" | \"revoked\" | \"any\"` — default `\"active\"`\n  - `match?: string` — case-insensitive substring matched against `accountDisplayName` and `accountHandle`.\n- **Returns:** `{ data: { ok: true, channel, connections: Array<{ connectionId, channel, externalUrn, accountDisplayName, accountHandle, accountAvatarUrl, ownerUserId, status, scopes, expiresAt, lastRefreshedAt }> } }`\n- **Errors (in `data`):** `UNKNOWN_CHANNEL`, `NOT_CONFIGURED`.\n\n### `linkedin-post`\n\nPublish a text post to a connected LinkedIn account. Posts immediately and publicly by default. Confirm with the user before invoking.\n\n- **Parameters:**\n  - `connectionId: string` (required)\n  - `text: string` (required, maxLength 3000)\n  - `visibility?: \"PUBLIC\" | \"CONNECTIONS\"` — default `\"PUBLIC\"`\n  - `issueId?: string` — optional, for audit linkage\n- **Returns:** `{ data: { ok: true, postUrl, externalPostId } }`\n- **Errors (in `data`):** `BAD_REQUEST`, `CHANNEL_NOT_CONFIGURED`, `CONNECTION_NOT_FOUND`, `CONNECTION_EXPIRED`, `CONNECTION_REVOKED`, `REFRESH_FAILED`, plus LinkedIn-specific codes (`AUTH_REVOKED`, `RATE_LIMITED` with `retryAfterSeconds`, `INVALID_REQUEST`, `SERVER_ERROR`, etc.).\n\n### `linkedin-react`\n\nApply a reaction to a LinkedIn post. Idempotent — repeated calls with the same `(connection, post, reactionType)` return `alreadyReacted: true` rather than failing.\n\n- **Parameters:**\n  - `connectionId: string` (required)\n  - `post: string` (required) — URL or URN\n  - `reactionType?: \"LIKE\" | \"PRAISE\" | \"EMPATHY\" | \"INTEREST\" | \"APPRECIATION\" | \"ENTERTAINMENT\"` — default `\"LIKE\"`\n  - `issueId?: string` — optional, for audit linkage\n- **Returns:** `{ data: { ok: true, postUrn, reactionType, alreadyReacted, reactionId } }`\n- **Errors (in `data`):** `BAD_REQUEST`, `BAD_POST_REFERENCE`, `CHANNEL_NOT_CONFIGURED`, `CONNECTION_NOT_FOUND`, `CONNECTION_EXPIRED`, `CONNECTION_REVOKED`, `REFRESH_FAILED`, plus the same LinkedIn-specific codes as `linkedin-post`.\n\n### `linkedin-comment`\n\nPost a top-level text comment on a LinkedIn post. Non-idempotent.\n\n- **Parameters:**\n  - `connectionId: string` (required)\n  - `post: string` (required) — URL or URN\n  - `text: string` (required, maxLength 1250)\n  - `mentions?: Array<{ start: number; length: number; urn: string }>` — inline mentions. Each `[start, start+length)` must fit within `text` and entries must not overlap. URNs must be `urn:li:person:...` or `urn:li:organization:...`. The tool does not resolve names to URNs.\n  - `issueId?: string` — optional, for audit linkage\n- **Returns:** `{ data: { ok: true, postUrn, commentUrn, commentId, commentText, commentUrl } }`\n- **Errors (in `data`):** `BAD_REQUEST`, `BAD_POST_REFERENCE`, `CHANNEL_NOT_CONFIGURED`, `CONNECTION_NOT_FOUND`, `CONNECTION_EXPIRED`, `CONNECTION_REVOKED`, `REFRESH_FAILED`, `AUTH_REVOKED`, `RATE_LIMITED` (with `retryAfterSeconds`), `PROVIDER_UNAVAILABLE`, `POST_NOT_FOUND`, `COMMENT_FORBIDDEN`, `COMMENT_FAILED`.\n\n---\n\n## HTTP routes\n\nAll routes are mounted under `/api/plugins/<pluginId>/api/<path>`. The platform applies `assertScopedApiAuth` (auth mode), `resolveScopedApiCompanyId` (companyResolution), and `assertCompanyAccess` (cross-company protection) before handlers run.\n\n### Board routes (require `actor.type === \"board\"` with company access)\n\n| Path | Method | Body / Query | Returns |\n|---|---|---|---|\n| `/oauth/start` | POST | `{ companyId, channel, redirectPath?, scopes?, state? }` | `{ ok, authzUrl, state, expiresAt }` |\n| `/oauth/complete` | POST | `{ companyId, channel, code, state }` | `{ ok, connection: { connectionId, externalUrn, accountDisplayName, … } }` |\n| `/connections/:connectionId/disconnect` | POST | `{ companyId }` | `{ ok }` |\n| `/me/connections` | GET | `?companyId=…&channel=…&includeRevoked=true` | `{ ok, connections: [...] }` |\n| `/team/connections` | GET | `?companyId=…&channel=linkedin&status=active` | `{ ok, connections: [...], audit?: [...] }` |\n| `/audit/recent` | GET | `?companyId=…` | `{ ok, entries: [...] }` |\n| `/analytics/posts` | GET | `?companyId=…&source=published\\|tracked_external\\|all` | `{ ok, posts: [...] }` |\n| `/analytics/posts/:id` | GET | `?companyId=…&since=7d\\|14d\\|30d&icpClass=…&region=…` | `{ ok, post, metrics, engagers, daily }` |\n| `/analytics/posts/:id/engagers/:engagerId/triage` | POST | `{ companyId, state }` | `{ ok }` |\n| `/analytics/track-url` | POST | `{ companyId, url }` | `{ ok, trackedPostId, alreadyTracked }` |\n| `/analytics/projects` | GET | `?companyId=…` | `{ ok, projects: [...] }` |\n| `/analytics/agents` | GET | `?companyId=…` | `{ ok, agents: [...] }` |\n\n### Agent routes (require `actor.type === \"agent\"`)\n\n| Path | Method | Body / Query | Returns |\n|---|---|---|---|\n| `/tools/dispatch` | POST | `{ companyId, tool, parameters, projectId? }` | `ToolResult` |\n| `/analytics/agent/tracked-posts` | GET | `?companyId=…&status=pending\\|ready\\|any&since=…&limit=…&channel=…` | `{ ok, posts: [...] }` |\n| `/analytics/agent/tracked-posts` | POST | `{ companyId, posts: [...] }` | `{ ok, results: [...] }` |\n| `/analytics/agent/posts/:id/engagers` | POST | `{ companyId, engagers: [...] }` | `{ ok, upserted }` |\n| `/analytics/agent/posts/:id/snapshot` | POST | `{ companyId, sampledAt, reactionCount, commentCount, status? }` | `{ ok }` |\n\n### Error envelope\n\nFailed routes return:\n\n```json\n{ \"ok\": false, \"code\": \"<MACHINE_CODE>\", \"message\": \"<human readable>\" }\n```\n\nCodes: `BAD_REQUEST`, `NOT_FOUND`, `FORBIDDEN`, `NOT_OWNER`, `NOT_ADMIN`, `CHANNEL_NOT_CONFIGURED`, `URN_ALREADY_CONNECTED`, `CONNECTION_NOT_FOUND`, `INTERNAL`. The platform may add envelope codes (`UNKNOWN_ROUTE`, etc.) ahead of these.\n\n### Agent dispatch route\n\n`POST /api/plugins/<pluginId>/api/tools/dispatch` exists because Paperclip's generic `POST /api/plugins/tools/execute` is currently board-only. Agents authenticated with their own keys cannot call any plugin's tools through the standard surface, so this plugin exposes a sibling `auth: \"agent\"` route that delegates into the same tool inner functions (`runLinkedInPost`, `runLinkedInReact`, `runLinkedInComment`, `runSocialListChannels`, `runSocialListConnections`).\n\n---\n\n## Instance configuration\n\nSet in the Paperclip plugin admin UI under the plugin's settings page. Schema is also in `src/manifest.ts`.\n\n| Key | Type | Required | Purpose |\n|---|---|---|---|\n| `dekRef` | secret-ref | yes | Reference to a 32-byte base64-encoded data-encryption key. Used to envelope OAuth tokens at rest. Per-row `keyVersion` supports rotation. |\n| `redirectBaseUrl` | string | yes | Public origin of this Paperclip instance, e.g. `https://paperclip.example.com`. Used to build OAuth redirect URIs. |\n| `channels.linkedin.enabled` | boolean | no | Toggles the LinkedIn channel. Disabled by default. |\n| `channels.linkedin.clientIdRef` | secret-ref | when LinkedIn enabled | LinkedIn application client id. |\n| `channels.linkedin.clientSecretRef` | secret-ref | when LinkedIn enabled | LinkedIn application client secret. |\n| `channels.analytics.issueProjectId` | string | when analytics used | Paperclip project that holds analytics issues (one master issue + one per tracked post). |\n| `channels.analytics.issueAssigneeAgentId` | string | no | Default assignee on auto-created tracked-post issues. |\n| `channels.analytics.refreshWebhookUrl` | string | no | Webhook fired (best-effort) when a new URL is pasted, so the refresh routine can pick it up immediately. |\n| `channels.analytics.refreshWebhookSecretRef` | secret-ref | when webhook used | Secret used to authenticate the webhook call. |\n| `channels.analytics.refreshWebhookAuthMode` | `\"bearer\" \\| \"hmac_sha256\"` | no | How to attach the secret. Defaults to `bearer`. |\n\nSecret references resolve through `ctx.secrets.resolve()` at request time. Plaintext secrets never live in plugin state.\n\n---\n\n## Database\n\nOwns the `social` namespace (manifest declares `database.namespaceSlug: \"social\"`).\n\n| File | Contents |\n|---|---|\n| `0001_social_connections.sql` | Connections table. |\n| `0002_relax_employee_id.sql` | Drops the not-null on the legacy employee id column. |\n| `0003_multi_account.sql` | Multiple connections per `(company, channel, externalUrn)`. |\n| `0004_analytics.sql` | `tracked_post`, `post_engager`, `post_snapshot`. |\n\nThe plugin reads `companies` from the core schema (`coreReadTables: [\"companies\"]`). It does not write to any core table.\n\n---\n\n## Background jobs\n\n| Job | Schedule | What |\n|---|---|---|\n| `reconcile-connections` | `0 3 * * *` (daily at 03:00 server time) | Sweeps connections nearing expiry. Refreshes tokens via the channel adapter where possible; marks `expired` on refresh failure; emits an audit entry per action. |\n\nManually triggerable through `POST /api/plugins/:pluginId/jobs/:jobId/trigger`.\n\nThe analytics refresh is **not** a plugin job. It is a paperclip routine the operator configures (see the Analytics section of the plugin settings page for the prompt and setup steps); the plugin only provides the read/write endpoints.\n\n---\n\n## UI\n\n| Slot | Type | Path / Anchor | Purpose |\n|---|---|---|---|\n| `social` | page | `/social` | Per-user view of own connections; connect / disconnect / list recent posts. |\n| `analytics` | page | `/analytics` | Two-column engager analytics on tracked posts: post list (left, with URL paste) + post detail (right, metrics with sparklines, ICP / region filters, engager table with triage controls). |\n| `oauth-callback` | page | `/social-callback` | Receives the OAuth redirect, posts to `/oauth/complete`. |\n| `settings` | settingsPage | (in plugin admin) | Configure `dekRef`, `redirectBaseUrl`, channel client ids/secrets, and the analytics routine setup (project picker, agent picker, webhook URL/secret, copyable routine prompt). |\n| `sidebar` | sidebar | — | Top-level \"Social\" nav entry. |\n| `sidebar-analytics` | sidebar | — | Top-level \"Analytics\" nav entry. |\n\nUI bundle is built with esbuild from `src/ui/` and exposed via `manifest.entrypoints.ui = \"./dist/ui\"`.\n\n---\n\n## Capabilities\n\nDeclared in `manifest.capabilities`:\n\n| Capability | Why this plugin needs it |\n|---|---|\n| `companies.read` | Resolve `companyId` against the company table. |\n| `activity.read`, `activity.log.write` | Surface and write structured activity entries. |\n| `plugin.state.read`, `plugin.state.write` | Pending OAuth state; small key/value bookkeeping. |\n| `database.namespace.migrate`, `database.namespace.read`, `database.namespace.write` | Own the `social` schema. |\n| `http.outbound` | Call `api.linkedin.com`, OAuth token endpoints, the analytics refresh webhook. |\n| `secrets.read-ref` | Resolve `dekRef`, `clientIdRef`, `clientSecretRef`, `refreshWebhookSecretRef`. |\n| `agent.tools.register` | Register the four agent tools. |\n| `jobs.schedule` | Schedule the daily reconciliation job. |\n| `api.routes.register` | Mount the HTTP routes. |\n| `ui.page.register`, `ui.sidebar.register`, `instance.settings.register` | UI slots. |\n| `issues.create` | Auto-create a paperclip issue when an operator pastes a tracked URL. |\n| `projects.read`, `agents.read` | Populate the project / agent pickers on the analytics settings page. |\n\n---\n\n## Install\n\n### Production / npm\n\n```bash\ncurl -X POST http://127.0.0.1:3100/api/plugins/install \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer <board api key>\" \\\n  -d '{\"packageName\":\"@blaze283/social-agent-plugin\"}'\n```\n\nOr via the Paperclip CLI:\n\n```bash\npaperclipai plugin install @blaze283/social-agent-plugin\n```\n\n### Local-path development\n\n```bash\npaperclipai plugin install <path-to-plugin-checkout> --local\n```\n\n### After install\n\n1. Open the plugin's settings page in the Paperclip admin UI.\n2. Configure `dekRef`, `redirectBaseUrl`, and (for LinkedIn) `clientIdRef` / `clientSecretRef`.\n3. From the Social Accounts page, click *Connect LinkedIn* — completes the OAuth flow and creates a connection.\n4. (Optional, for Analytics) On the settings page, configure the analytics block: pick a project, pick the refresh agent, paste a webhook URL/secret, then copy the routine prompt into a new paperclip routine assigned to that agent.\n5. (Optional, for Leads) On the settings page, configure the Leads block: pick a project for lead issues and a lead-DM assignee agent. Copy the lead-DM agent prompt into that agent's working instructions and replace the voice/ICP block with company-specific guidance.\n\n---\n\n## Development\n\n```bash\npnpm install\npnpm dev            # esbuild watch\npnpm dev:ui         # local UI dev server with hot-reload events\npnpm test           # vitest, all I/O mocked\npnpm typecheck\npnpm build          # production bundle\npnpm build:rollup   # alternate bundler, same SDK presets\n```\n\n### Integration test\n\nRuns against a live Paperclip:\n\n```bash\nPAPERCLIP_BASE_URL=http://127.0.0.1:3100 \\\n  pnpm test tests/integration/pluginLifecycle.spec.ts\n```\n\nSkipped without `PAPERCLIP_BASE_URL`.\n","readmeFilename":"README.md"}