{"_id":"@akshayram1/omnibrowser-agent","_rev":"13-dd6dffab52eaea5ef7b8e2aea0e5bb6b","name":"@akshayram1/omnibrowser-agent","dist-tags":{"latest":"0.3.4"},"versions":{"0.2.0":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.0","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.0","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"76986fb1c39368c2fe6b3f755b26eddf229e895e","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.0.tgz","fileCount":22,"integrity":"sha512-xOjfukZ/JA0vIWthHGiV0PAYu1VpWpxjvVyITghW+PwvZyooz0mlRL/CSjVMWuwmFHnhL2fh2eD7cQzi+ZGM3A==","signatures":[{"sig":"MEYCIQCkuHFnh1mGYENrcnepGZuE85VA1dcspKzz5g5ymxfdTgIhAP0ZHO7QhZGgrDEz5RG3rYyQhxkCs7ew7eOvO9+hPac6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92348},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"dc11c617e8dcb4fa3d053214a42cd146eccf6a4f","private":false,"scripts":{"build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.0_1773993508890_0.049502486625365494","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.1","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.1","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"6fc759979a6a3cc53e45ad9cf58a1c9463eaf8c2","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.1.tgz","fileCount":22,"integrity":"sha512-431QmzFXGobJUfgRYBNpkQzjY9P93UV0E0Pv+zhJXVPR9NY4iI0nRPBfoaURhdZvbFYT2nl7n3S4TOZBcleG4g==","signatures":[{"sig":"MEUCIQDoj3zy/hqfP2W6NovfOIAntNY9A4ItO9dX7xXJZfOrPAIgCAdYNOv6N1revxGc697AtMhbOAMruwfoUNoC+THwTNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92348},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"dc11c617e8dcb4fa3d053214a42cd146eccf6a4f","private":false,"scripts":{"build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.1_1773993650238_0.8652250020474535","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.2","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.2","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"63f1e53d9039f13fdb063ebf059230d3801450dc","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.2.tgz","fileCount":25,"integrity":"sha512-c5tLR0J5qLwYurDDajXZmsVsrFcMvMP+SAhiWa5+R0XlG923yXVczbI5mDmlvwY5dMikh4l8O+24pQQrxz00DA==","signatures":[{"sig":"MEYCIQDuElNzheDHZqCZo5cnnGs71+QJSEmRNQ00enU8QVU3DAIhALx0SDlvGHF4MiR3DU5S6QA15sSJXG4+bvhgJNwQAkVk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109675},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"2afc3bdc70e7a061718caadfeb18ea85dc764ecb","private":false,"scripts":{"build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.2_1773997949370_0.350421933813555","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.3","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.3","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"91dccd3369a617d1cbc67d69096b3589e821f672","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.3.tgz","fileCount":31,"integrity":"sha512-WwCpdPXRWH4vD0jBihssiU2JxM+uldtnkd3AwsWHpWuimfS/akijV0SDrnsU2sZWC1xUej3OFgx88BcIyE8cgA==","signatures":[{"sig":"MEQCIAgkWPQuG4c2xMxjfr5ksya7F0eqVuTL/7WzxcTjTVNeAiAf/4Xi6hIOXFAUR4IJip+ZboVdMsZUSy+OfXoaxeCaRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142639},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"0347cb9701d369b59e2ed9f0d11e4efb3f95be1e","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.3_1774110015798_0.005407071948299924","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.6","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.6","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"856aec4a9cd391948bcfa5183d935c28d43cb0d2","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.6.tgz","fileCount":31,"integrity":"sha512-F6FMJKkX245PUaWy5Abwe0uLUTzGmkCjE3kxeihn0VQsaO20HbZraGFd8ltURphAaCZUvxy6Fsux5WeTMrygyQ==","signatures":[{"sig":"MEUCIQD5CTZYG24oYdrInhi+HGHdWdpjhry4B0iqPEnxSturNAIgYxydUlj7tll4iT5i78v1gkZrkYErKd5ZhDC/2Eg2e5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147136},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"9426ea997db371c879edde0957290778f25e1182","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.6_1774115016836_0.7194088302638664","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.8","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.8","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"9e8f5318d0aebc2d72bcd5ee1252bc40f77b0e3a","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.8.tgz","fileCount":32,"integrity":"sha512-1Zus0tcqz5r3NETO/tl8rq9YVKQb4V3WLZlpA3POsnQm8Bv0QE4e+VwvSWn59nx8x4DnImOQntvgmIVc+gELfQ==","signatures":[{"sig":"MEUCIC2D9Q9YXFJC7r1rOEphrEaF/2mRhK4USZAvuYjbyokUAiEArjcq4kJAG/TCA4eZDRhxvCN2NuTaISZf2jFtAN49ukA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168438},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"9ec21ad35c0a93b17bcb310137a576f074b64b0e","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.8_1774245686748_0.9141602956611441","host":"s3://npm-registry-packages-npm-production"}},"0.2.26":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.26","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.26","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"19c2e5bb8780d25bb8a46436d8de11c67b58d3c1","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.26.tgz","fileCount":35,"integrity":"sha512-Er4beNqyhUWoMDmvDFmxenO3rFEEZ8Smig/4y4XxHmp0LtF1xNi9XdbelByJnAQdWnGbg5/oUmigT96QTxUlvw==","signatures":[{"sig":"MEUCIHjuc7J1WnJat8bR46kfPPYbGTWXzpJ8e6Nqeo0GYSnkAiEAhINOANDV/1vfOyiUvILa/7ci8hzSCf6tAPrk/1cEXY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281117},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"8d6af0c10dea77b31de8cd562cc58b53e97f1b66","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.26_1774377991788_0.7446527707688526","host":"s3://npm-registry-packages-npm-production"}},"0.2.28":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.28","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.28","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"e8249b01dfdf4984267f90ed7970c3414ab9c7e3","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.28.tgz","fileCount":35,"integrity":"sha512-s8lMgWcUdXxQxT4ekC1Eu57u0c8FVkNqELbjzu5UcJzudVH9M04xRnvayHjVVQhcGZaJCpqR/NJUOwdENGJHmA==","signatures":[{"sig":"MEUCIQDmuKn087D4mvfzCAoOFFeTKSRbyIXV+M8T89C3ab7xgwIgcVENHI60SGwV0akZ18FvVOPdiB+negJKLdSFXHiif9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294081},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"17316b6e1b30e2977dfc66a3a99836e566ed3256","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.28_1774415737553_0.17661949605656857","host":"s3://npm-registry-packages-npm-production"}},"0.2.29":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.29","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.29","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"0691bb7566335af54c67de23f415feabdcab46fc","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.29.tgz","fileCount":35,"integrity":"sha512-QDxRrbOeYbIqgLmXDmYcYhfK5qbRjw8GuIAxXMdWAMpLHk6hXagmtPOr9bA2JoCABk23+8SwtKUr5ZjpVQ3Hjg==","signatures":[{"sig":"MEUCIDxrvUYa4wbR6+wFD3VijtLXrN8BftcrwBa540m3Ib+mAiEA2zXcP2ahaLwwcHkbhl5iTnZwmj6sGKvttCcRvo4fTVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300886},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"c2aaeaa33ae2522c50feabd2770d2b6e0764efe3","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.29_1774416881843_0.6049222313182192","host":"s3://npm-registry-packages-npm-production"}},"0.2.32":{"name":"@akshayram1/omnibrowser-agent","version":"0.2.32","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.2.32","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"3c87fe1168e28133294ef3487d3961b269c12f1b","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.2.32.tgz","fileCount":27,"integrity":"sha512-MGlY31FXsEkN3PXJqMLBwYpxdtbWuEcPORn7ZjYIn5aU2jjN8uVyPzKLEmc5xDe4rNH8yGAjNWwdwTUYL13EQg==","signatures":[{"sig":"MEUCIQCyfYETrHD3tkDd1m5CnJNL4F1GglOuGiAzYIbWTeocrgIgO+mizCppGdAY+Ml4CPKuM3iYPCDAlUyxdBvgEgQefn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190092},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"beb75aabcd45a39e300f4564a106797622229ca8","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","prepack":"cp README.md README.github.md && cp README.npm.md README.md","postpack":"mv README.github.md README.md","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.2.32_1774494728837_0.007316917446478222","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@akshayram1/omnibrowser-agent","version":"0.3.0","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.3.0","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"52913981594a18a60f6f327a75391c5a64832d22","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.3.0.tgz","fileCount":36,"integrity":"sha512-HCl2M5OqdzmjSxyEhbbLnWx6j2EacNuWuv3N/25LC92sADZIM1fTM7B97k5CNcD443EGsRWdxzquNuzG125AEg==","signatures":[{"sig":"MEUCIHeqH+UKb0ELXa8zDuJqrpDXdDL0i9eO4E2DN/lskDYhAiEAy22zbp1mKwKsR51+s75Xj1gGMNZD12Kzcdg6bl/HZrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19685070},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"36f1613d6b23c7d4425a75c423a72e1f465deaa8","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","prepack":"cp README.md README.github.md && cp README.npm.md README.md","postpack":"mv README.github.md README.md","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.3.0_1774845832261_0.7149001046933192","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@akshayram1/omnibrowser-agent","version":"0.3.1","author":{"name":"Akshay Chame"},"license":"MIT","_id":"@akshayram1/omnibrowser-agent@0.3.1","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"dist":{"shasum":"ae1f401e27098bf051619b4a95e63ec1bec713ae","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.3.1.tgz","fileCount":36,"integrity":"sha512-CVpdqtGbx/Wv0CcbKR8CcJe2HE1EITqYeao3cyIqJ8B2RmVC6YZiDFBhfGuL8Q9Df9F1sDvfeQIrIN3UsCrERQ==","signatures":[{"sig":"MEUCIQCHuAIiY5wN3xoutQC929A9VMIHIKMhmQyqfUtgDLiMRgIgGQEFQGh1+y1u8wHHcQOs+yRzCvRby4wL2ViPRQ+pz8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19686948},"main":"./dist/lib.js","type":"module","types":"./dist/types/lib/index.d.ts","module":"./dist/lib.js","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"gitHead":"972bd6621b2287c7c7932ab21eefc004679f3b9f","private":false,"scripts":{"test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","build":"node scripts/build.mjs && npm run build:types","watch":"node scripts/build.mjs --watch","prepack":"cp README.md README.github.md && cp README.npm.md README.md","postpack":"mv README.github.md README.md","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","build:types":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"_npmVersion":"11.11.0","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.2","typescript":"^5.8.2","@types/node":"^25.5.0","@types/chrome":"^0.0.322"},"_npmOperationalInternal":{"tmp":"tmp/omnibrowser-agent_0.3.1_1774885791661_0.029344915528076276","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@akshayram1/omnibrowser-agent","version":"0.3.4","private":false,"type":"module","main":"./dist/lib.js","module":"./dist/lib.js","types":"./dist/types/lib/index.d.ts","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/lib.js"}},"description":"Local-first OmniBrowser Agent (WebLLM + page automation)","author":{"name":"Akshay Chame"},"license":"MIT","scripts":{"build":"node scripts/build.mjs && npm run build:types","build:types":"tsc -p tsconfig.lib.json","watch":"node scripts/build.mjs --watch","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json --noEmit","test":"node --experimental-strip-types --test src/shared/safety.test.ts src/core/planner.test.ts","prepack":"cp README.md README.github.md && cp README.npm.md README.md","postpack":"mv README.github.md README.md"},"devDependencies":{"@types/chrome":"^0.0.322","@types/node":"^25.5.0","esbuild":"^0.25.2","typescript":"^5.8.2"},"gitHead":"e73ffeffe768ae883a11c3fe2aa6c82855018c8c","_id":"@akshayram1/omnibrowser-agent@0.3.4","_nodeVersion":"25.2.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-CxoiG6+v2CBojSUvZA0PMAqn9uV9qibyMGsGFLFmRCeQEo2q4Xo4jjTkkkYGcDM9eR/3Tt1r8tpfLvhco/b8mw==","shasum":"88b6577c4c9576e64bae940c74ce3ee69fc700f4","tarball":"https://registry.npmjs.org/@akshayram1/omnibrowser-agent/-/omnibrowser-agent-0.3.4.tgz","fileCount":36,"unpackedSize":19691855,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFQ/LM2czW0uNrNObFjraO0z1h7jFvIuxlAqcAsK/bjOAiEA1aG5msdwvq7rMp1x1Try9BmeT1rIHpMwZB/8wPWGcLI="}]},"_npmUser":{"name":"akshayram1","email":"akshaychame2@gmail.com"},"directories":{},"maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/omnibrowser-agent_0.3.4_1774886899616_0.3573061898444545"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T07:58:28.791Z","modified":"2026-03-30T16:08:20.283Z","0.2.0":"2026-03-20T07:58:29.041Z","0.2.1":"2026-03-20T08:00:50.435Z","0.2.2":"2026-03-20T09:12:29.546Z","0.2.3":"2026-03-21T16:20:15.950Z","0.2.6":"2026-03-21T17:43:37.007Z","0.2.8":"2026-03-23T06:01:26.892Z","0.2.26":"2026-03-24T18:46:31.954Z","0.2.28":"2026-03-25T05:15:37.723Z","0.2.29":"2026-03-25T05:34:41.987Z","0.2.32":"2026-03-26T03:12:08.986Z","0.3.0":"2026-03-30T04:43:52.862Z","0.3.1":"2026-03-30T15:49:52.240Z","0.3.4":"2026-03-30T16:08:20.193Z"},"author":{"name":"Akshay Chame"},"license":"MIT","description":"Local-first OmniBrowser Agent (WebLLM + page automation)","maintainers":[{"name":"akshayram1","email":"akshaychame2@gmail.com"}],"readme":"# omnibrowser-agent\n\n[![npm](https://img.shields.io/npm/v/@akshayram1/omnibrowser-agent)](https://www.npmjs.com/package/@akshayram1/omnibrowser-agent)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\nLocal-first browser AI operator. Plans and executes DOM actions entirely in the browser — no API keys, no cloud costs, no data leaving your machine.\n\n[Live Demo](https://omnibrowser-agent.vercel.app/examples/chatbot/) · [GitHub](https://github.com/akshayram1/omnibrowser-agent) · [Embedding Guide](https://github.com/akshayram1/omnibrowser-agent/blob/main/docs/EMBEDDING.md) · [Roadmap](https://github.com/akshayram1/omnibrowser-agent/blob/main/docs/ROADMAP.md)\n\n---\n\n## Architecture\n\n```\n  Chrome Extension          npm Library\n  (popup + bg worker)       createBrowserAgent()\n         |                        |\n         +----------+-------------+\n                    |\n             Orchestration\n          (session & tick loop)\n                    |\n         +----------+----------+\n         |          |          |\n     observer   planner    executor\n    (DOM snap) (heuristic  (click/type/\n               /webllm)    navigate...)\n         |          |          |\n         +----------+----------+\n                    |\n                 safety\n           (safe/review/blocked)\n```\n\n### One tick\n\n```\ngoal + history + memory\n        |\n        v\nobserver.collectSnapshot()  -->  PageSnapshot (url, title, candidates[])\n        |\n        v\nplanner.planNextAction()    -->  PlannerResult { action, evaluation?, memory?, nextGoal? }\n        |\n        v\nsafety.assessRisk(action)   -->  safe | review | blocked\n        |\n   blocked --> stop\n   review  --> pause (human-approved) --> user calls resume()\n   safe    --> executor.executeAction()\n        |\n        v\n   session.history.push(result) --> next tick\n```\n\n---\n\n## Install\n\n```bash\nnpm install @akshayram1/omnibrowser-agent\n```\n\n---\n\n## Quick start\n\n```ts\nimport { createBrowserAgent } from \"@akshayram1/omnibrowser-agent\";\n\nconst agent = createBrowserAgent({\n  goal: \"Search for contact Jane Doe and open her profile\",\n  mode: \"human-approved\",        // or \"autonomous\"\n  planner: { kind: \"heuristic\" } // or \"webllm\"\n}, {\n  onStep:             (result, session) => console.log(result.message),\n  onApprovalRequired: (action, session) => console.log(\"Review:\", action),\n  onDone:             (result, session) => console.log(\"Done:\", result.message),\n  onError:            (err,    session) => console.error(err),\n  onMaxStepsReached:  (session)         => console.log(\"Max steps hit\"),\n});\n\nawait agent.start();\n\n// After onApprovalRequired fires:\nawait agent.resume();\n\n// Cancel at any time:\nagent.stop();\n```\n\n---\n\n## Planner modes\n\n| Mode        | Description                                         | When to use                                   |\n|-------------|-----------------------------------------------------|-----------------------------------------------|\n| `heuristic` | Zero-dependency regex planner. Works fully offline. | Simple, predictable goals — navigate, fill, click |\n| `webllm`    | On-device LLM via WebGPU. Fully private, no API calls. | Open-ended, multi-step, language-heavy goals |\n\n### WebLLM with a custom system prompt\n\n```ts\nconst agent = createBrowserAgent({\n  goal: \"Fill the checkout form\",\n  planner: {\n    kind: \"webllm\",\n    systemPrompt: \"You are a careful checkout assistant. Never submit before all required fields are filled.\"\n  }\n});\n```\n\n### Recommended WebLLM models\n\n| Model ID | Size | Notes |\n|----------|------|-------|\n| `Llama-3.2-1B-Instruct-q4f16_1-MLC` | ~600 MB | fastest |\n| `Llama-3.2-3B-Instruct-q4f16_1-MLC` | ~1.5 GB | fast |\n| `Phi-3.5-mini-instruct-q4f16_1-MLC` | ~2 GB | quality |\n| `Mistral-7B-Instruct-v0.3-q4f16_1-MLC` | ~4.1 GB | balanced |\n| `Qwen2.5-7B-Instruct-q4f16_1-MLC` | ~4.3 GB | strong |\n| `Llama-3.1-8B-Instruct-q4f16_1-MLC` | ~4.8 GB | strong |\n| `Qwen3-8B-q4f16_1-MLC` | ~5 GB | latest Qwen |\n| `gemma-2-9b-it-q4f16_1-MLC` | ~5.5 GB | Google Gemma |\n| `DeepSeek-R1-Distill-Llama-8B-q4f16_1-MLC` | ~5 GB | reasoning |\n| `Llama-3.1-70B-Instruct-q3f16_1-MLC` | ~35 GB | most capable (needs 24+ GB VRAM) |\n\n---\n\n## Agent modes\n\n| Mode             | Behaviour                                                                 |\n|------------------|---------------------------------------------------------------------------|\n| `autonomous`     | All `safe` and `review` actions execute without pause                     |\n| `human-approved` | `review`-rated actions pause and emit `onApprovalRequired` — call `resume()` to continue |\n\n---\n\n## Supported actions\n\n| Action     | Description                        | Risk           |\n|------------|------------------------------------|----------------|\n| `navigate` | Navigate to a URL (http/https only) | safe           |\n| `click`    | Click an element by CSS selector   | safe / review  |\n| `type`     | Type text into an input            | safe / review  |\n| `scroll`   | Scroll a container or the page     | safe           |\n| `focus`    | Focus an element                   | safe           |\n| `wait`     | Pause for N milliseconds           | safe           |\n| `extract`  | Extract text from an element       | review         |\n| `done`     | Signal task completion             | safe           |\n\n---\n\n## AbortSignal support\n\n```ts\nconst controller = new AbortController();\nconst agent = createBrowserAgent({ goal: \"...\", signal: controller.signal });\nagent.start();\n\ncontroller.abort(); // cancel from outside\n```\n\n---\n\n## WebLLM bridge wiring\n\n```ts\nimport * as webllm from \"@mlc-ai/web-llm\";\nimport { createBrowserAgent, parsePlannerResult } from \"@akshayram1/omnibrowser-agent\";\n\nconst engine = await webllm.CreateMLCEngine(\"Phi-3.5-mini-instruct-q4f16_1-MLC\");\n\nwindow.__browserAgentWebLLM = {\n  async plan(input) {\n    const { goal, history, lastError, memory, systemPrompt } = input;\n    const resp = await engine.chat.completions.create({\n      messages: [\n        { role: \"system\", content: systemPrompt || \"You are a browser automation agent. Output only JSON.\" },\n        { role: \"user\",   content: `Goal: \"${goal}\"\\nHistory: ${history.slice(-4).join(\" -> \")}${memory ? \"\\nMemory: \" + memory : \"\"}${lastError ? \"\\nLast error: \" + lastError : \"\"}` }\n      ],\n      temperature: 0,\n      max_tokens: 200\n    });\n    return parsePlannerResult(resp.choices[0].message.content);\n  }\n};\n\nconst agent = createBrowserAgent({ goal: \"Fill the checkout form\", planner: { kind: \"webllm\" } });\nawait agent.start();\n```\n\n---\n\n## Chrome Extension\n\n1. `npm run build`\n2. Open `chrome://extensions`, enable **Developer Mode**, click **Load unpacked**, select `dist/`.\n3. Open any tab, enter a goal in the popup, pick a mode, and click **Start**.\n\n---\n\n## Project structure\n\n```\nsrc/\n├── background/      Extension service worker — session management\n├── content/         Extension content script — runs in page context\n├── core/            Shared engine (planner, observer, executor)\n├── lib/             npm library entry — createBrowserAgent()\n├── popup/           Extension popup UI\n└── shared/          Types, safety, and parse utilities\n```\n\n---\n\n## License\n\nMIT © Akshay Chame\n","readmeFilename":"README.npm.md"}