{"_id":"@centralinc/browseragent","_rev":"20-13a25d1d34844a970f145fb05c1df175","name":"@centralinc/browseragent","dist-tags":{"latest":"1.9.6"},"versions":{"1.1.5":{"name":"@centralinc/browseragent","version":"1.1.5","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.1.5","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"2aa95835c142814e4b476b39d5b8eed0445b4a1e","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.1.5.tgz","fileCount":7,"integrity":"sha512-UrxE+CDgalidqmIrQkMzqmwqu1qLseiaDxvXrFHa3942e1W4mWkfZvJC4ClJJJ/Rx3HEib1fOW/rs8MqJfhI3w==","signatures":[{"sig":"MEQCIAWduwngAoCGo668u6cUSiI0ImYltqvbJxIPqBZE8SvMAiBGhbFGkvGktklU0oINdYn2CB3pptl4UnW7JOzoG8+v3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175295},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"21f515e8b3cf54a75eba9c43d3d362f14f42f90a","scripts":{"lint":"eslint .","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm run typecheck && npm run clean && npm run build"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.25.0","luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0","zod-to-json-schema":"^3.23.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"playwright":"^1.40.0","@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.1.5_1756410656074_0.5092748964814291","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@centralinc/browseragent","version":"1.3.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.3.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"15ca6ad26df4f664a1d132cc0f3a5979df769d3b","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.3.0.tgz","fileCount":7,"integrity":"sha512-hITWw/pFb7wtpXhl2+r/Tg3RPP4KCvXJ9TniLfgExK3VJYjDd+YljPDonQhbrFO1HKSku3w9r5n24M/Lwb2ezA==","signatures":[{"sig":"MEUCID6P5FlevwcpZxkGlIYpVfdQaLyxDgP5bG7kMCvjFduzAiEA250RnJQ6mozDgit/quhq/m+kKPzm1A0YTSssvW8J39E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191071},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"dd843efefecf6c59b26b9c9d61fa6c960a7d077f","scripts":{"lint":"eslint .","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm run typecheck && npm run clean && npm run build"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.25.0","luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0","zod-to-json-schema":"^3.23.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"playwright":"^1.40.0","@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.3.0_1757436467254_0.10951145683309216","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@centralinc/browseragent","version":"1.4.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.4.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"b3a57217b04b32e707b29e74277c3e859cbedc83","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.4.0.tgz","fileCount":7,"integrity":"sha512-ZlrmqLg1mF0WKxfzQT++CoBA3aLd7RF1VbrnCTuJkq3mJbt1OCCNwazv12U28qiTohdAvNe7uxB7dUu/FAegKA==","signatures":[{"sig":"MEUCIEx+vonsG4ujpImE66Wf/kskMkPgl+nhlZ7u4cW5Sh8LAiEA2ZIy9Yb7qJj8bBYpC5iGpRqk1nNHpfpzpwrvPD/gy24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191152},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"72e8a0299d1794de8ed884058f72d9ad844be618","scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm run typecheck && npm run clean && npm run build"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.25.0","luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0","zod-to-json-schema":"^3.23.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"playwright":"^1.40.0","@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.4.0_1757440263669_0.6490382455544927","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@centralinc/browseragent","version":"1.4.1","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.4.1","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"a3458375e16d3c6adafe99957d23023ed106308c","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.4.1.tgz","fileCount":7,"integrity":"sha512-1BuiTYuiETM7Pa0GPmNQqtysoTZ0F91hSv+2lMXnS749gAldhT8F+1u4hP0HfC3b6IqnBCjjJi4N9Fdn8aVd0Q==","signatures":[{"sig":"MEUCIQDg/FGC7h2Y8vVhdcPy/0jGnf657DGOG8qcNkI3jbVN7wIgDVCDVA5RP6EMlAYYWppJcuVlSO3WNxsPnylnJOByiV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":196248},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3a93dbcd7aba39722215a15cba3266dca8d481d0","scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm run typecheck && npm run clean && npm run build"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.25.0","luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0","zod-to-json-schema":"^3.23.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"playwright":"^1.40.0","@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.4.1_1757514608022_0.32227492664686497","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@centralinc/browseragent","version":"1.4.2","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.4.2","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"91d8c6a078cd21724224e39869e11bcca2cba409","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.4.2.tgz","fileCount":7,"integrity":"sha512-SA4J1nMdeY2MLiu9OVMYMoiTOrWEZdwaDlzJpR1sPdtgZ8z41SJFRm44huKOnPDKnpEldAhByLpdrbOJ1a7Qew==","signatures":[{"sig":"MEUCIF2WHqqkuaN/E8HMqR8HXTjsgbAHRQbi9qGo3+SkQjFEAiEAsBC69ZGZAdSBTYWQqN3Z6H8Mg8axIpYO8ZA1YGP2lZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198624},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f2548b639a6bb8327b08450da28ba19f13e86a4f","scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint && npm run typecheck && npm run clean && npm run build"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"zod":"^3.25.0","luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0","zod-to-json-schema":"^3.23.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"playwright":"^1.40.0","@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.4.2_1757554737573_0.3429901965647213","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"@centralinc/browseragent","version":"1.4.5","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.4.5","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"67b915b3f4bdfdc0a6e4ca6c1c830de0797ca78b","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.4.5.tgz","fileCount":7,"integrity":"sha512-4qK6TjLafIEHAio68rCF3KxGjqIKLlt4AwDvns5wetcI7+1ckrIvinjQKvdpZD9OiBYa28I0cpR53s9X1jVQjw==","signatures":[{"sig":"MEQCIFvgt2oLXBhjNc31NTNJV3zBg5RLX9IES/JzNKMKXYSIAiAC4I3RSG10xkJ81kTy+m4+rccF3zCdB7KKzgqZ82qFCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198589},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.4.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/d2dc5a4993c5dbe1e34155c0b9f39ceb/centralinc-browseragent-1.4.5.tgz","_integrity":"sha512-4qK6TjLafIEHAio68rCF3KxGjqIKLlt4AwDvns5wetcI7+1ckrIvinjQKvdpZD9OiBYa28I0cpR53s9X1jVQjw==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.4.5_1758150426159_0.6108870848207053","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"@centralinc/browseragent","version":"1.4.6","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.4.6","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"4134ad24f8b03640967e5272121e1cc26533001e","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.4.6.tgz","fileCount":7,"integrity":"sha512-rwxtKnUAG7Y9Gcq266RqllmcMGHWXutFU7enKU2/Zgk/SRp7L1R1mziVqO0eXWkVhJW7v4RMrAZuNgeWkA/vyA==","signatures":[{"sig":"MEYCIQCZJrH234T8bGPMX+AAu2BBsKKbTPRxhkgOsQ+3cWbBNgIhAPXID4nt/H0NPdcsIvweojGEg93mS3RzT2R1vYUe9L/o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199609},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.4.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/34d1c86ce98723dd0c438de09878d903/centralinc-browseragent-1.4.6.tgz","_integrity":"sha512-rwxtKnUAG7Y9Gcq266RqllmcMGHWXutFU7enKU2/Zgk/SRp7L1R1mziVqO0eXWkVhJW7v4RMrAZuNgeWkA/vyA==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.4.6_1758831614415_0.664239317346","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@centralinc/browseragent","version":"1.5.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.5.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"541520bf9bd8f53f5c9091c89714d0a4760ee920","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.5.0.tgz","fileCount":7,"integrity":"sha512-8I94Xm7alGvP5VR9uUZwllW7UaKmWwZoV/rHfuKAGmBYHR/QQw+NHGvzKrt5Dj9trEIFmYRC6LVMSJMM6Y78Kw==","signatures":[{"sig":"MEQCIGw0GKrim4TtS/MqPiW07QeVCWo2zaBpbSjbQv+s1kWbAiAcJ97PvtkYXypwV56pwn9+oWPmCWH5UJTAcvN2rx2+Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205189},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/b8e278853cd96dca5a0b4c2b9ecb7855/centralinc-browseragent-1.5.0.tgz","_integrity":"sha512-8I94Xm7alGvP5VR9uUZwllW7UaKmWwZoV/rHfuKAGmBYHR/QQw+NHGvzKrt5Dj9trEIFmYRC6LVMSJMM6Y78Kw==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.5.0_1758937821569_0.4764008300608926","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@centralinc/browseragent","version":"1.6.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.6.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"d6fbd8ad24fb7d9b45d70d17260e7ac7fa7e0b8b","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.6.0.tgz","fileCount":7,"integrity":"sha512-6vyyypiEFmrUfRJd8RP3WShSxXyPFabgyeUemdAPyqG2LG8RJQ5yJRNYuVCZ64NaqlCZ8n9B2jEkIhmqBRww6w==","signatures":[{"sig":"MEUCIQCB7f89e1Wz5gXw3gUatlxJMfXIMQmrjzxeFDdjHouf9gIgetRxj8UtCmn9IgdWJTpHCKjK33zA3UdK60cv618Y/AY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207140},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/116f3d8408882c11376ab5aa0c77e067/centralinc-browseragent-1.6.0.tgz","_integrity":"sha512-6vyyypiEFmrUfRJd8RP3WShSxXyPFabgyeUemdAPyqG2LG8RJQ5yJRNYuVCZ64NaqlCZ8n9B2jEkIhmqBRww6w==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.6.0_1758940470235_0.12830626085682595","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@centralinc/browseragent","version":"1.6.1","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.6.1","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"7ae7fcfc5f7f1f7e7ae375cf26dab606990e2aad","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.6.1.tgz","fileCount":7,"integrity":"sha512-A3XWqyMCrNo4Ms4+oaNsNWmAHXWDDnZjR5XaoLDxjZfgV1q3/enAqxZETtXDkZuGXVbdXknna/rhZL1btJ0Okw==","signatures":[{"sig":"MEQCIBJ0+Wf8jkrG0qg2U+njKxIG5wabXwrj46550e1rJc89AiAQ6xotXmIACg0aOl9MoqLJ6rRNTg17SF63k3PrcDswQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":208348},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/5aa95f8cc8c52edf377382a3382f7e50/centralinc-browseragent-1.6.1.tgz","_integrity":"sha512-A3XWqyMCrNo4Ms4+oaNsNWmAHXWDDnZjR5XaoLDxjZfgV1q3/enAqxZETtXDkZuGXVbdXknna/rhZL1btJ0Okw==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.6.1_1759334664261_0.8017903768607735","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@centralinc/browseragent","version":"1.6.2","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.6.2","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"fc91d598e41aca9a0ef78c1410fd4354380e0207","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.6.2.tgz","fileCount":7,"integrity":"sha512-cPRg3A3uhUL9EtymLqdAvz02hVwMzg/Su2c8WwKn7x/4GOKMVkH4ijBQtl/9wj6gpO7vJ4UDvie3LCjf9fmW/Q==","signatures":[{"sig":"MEUCIQDpSnJ2zXNlCoKDKru11EBnhgZSGqWXld0vuJ1gzRb2nQIgAgo0GoYT4mS5G5rbeg4UZzRdjK43fw5vvXj4Dx3rtYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":208272},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.6.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/ac4a3d1e6dd5db04f2b39fd915670e36/centralinc-browseragent-1.6.2.tgz","_integrity":"sha512-cPRg3A3uhUL9EtymLqdAvz02hVwMzg/Su2c8WwKn7x/4GOKMVkH4ijBQtl/9wj6gpO7vJ4UDvie3LCjf9fmW/Q==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.6.2_1759346869842_0.1569629342490022","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@centralinc/browseragent","version":"1.7.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.7.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"5314c2d594ca6821c088407ddd092891e766d52b","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.7.0.tgz","fileCount":7,"integrity":"sha512-kay+m92AVTxSA2KD0siGywKkxHlxkJPXCJuRIiMJsih1++NzKZOLid5HtsMpalbfHKZBbAH6AK/MWCDurap0bw==","signatures":[{"sig":"MEUCIApZK/ceJBIdrSpMu7qYX00xPlIcKIJ3pM3+V8op9bzUAiEAr2mw4XHc6HSEcafOVVo15rIZrwo+Oye5Mw+6muSixhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210246},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/56a14ebed4534dda6fd36056997ac9dc/centralinc-browseragent-1.7.0.tgz","_integrity":"sha512-kay+m92AVTxSA2KD0siGywKkxHlxkJPXCJuRIiMJsih1++NzKZOLid5HtsMpalbfHKZBbAH6AK/MWCDurap0bw==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.7.0_1761613662609_0.3625096599163222","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@centralinc/browseragent","version":"1.8.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.8.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"9ff229d244d3813f12d9365a310a8233978f56bd","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.8.0.tgz","fileCount":7,"integrity":"sha512-79v1Q1uWDAQQaVH4cxvAiqc0hbc5GsKGNopm8EwheUIPJvS3iumnUkaqKO0OLVUgkohopiEd3k9jRUFb8p94Ew==","signatures":[{"sig":"MEYCIQDQtn9ia4XY17p3oVzAEpXPrquB/7NSvtnugRklZm/JJwIhAKZaVjIHpfHNoI5gCG7Yw6NEq7khHgVe0re2p+rziYih","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212440},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/464a069e3b5804eda9af0279677dfa3a/centralinc-browseragent-1.8.0.tgz","_integrity":"sha512-79v1Q1uWDAQQaVH4cxvAiqc0hbc5GsKGNopm8EwheUIPJvS3iumnUkaqKO0OLVUgkohopiEd3k9jRUFb8p94Ew==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.8.0_1763696887088_0.8183272186629358","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"@centralinc/browseragent","version":"1.8.1","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.8.1","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"8274f09f1eb84fd6c6e516d0cb99a6c62ac7d90d","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.8.1.tgz","fileCount":7,"integrity":"sha512-DBjM2sjDhmatwd59n/Qha3WzKn6hmx2k6Y7q7eb7C4qzwYo719ZbnJucCXV6G/H0maznbL/He0ttnZblDBCzAw==","signatures":[{"sig":"MEYCIQCySujdEfkFLlkV3zTWFk0Z/WQwBAYnLoxkAbUHufNeQQIhAOsUPk2wk/53YIm7K2M+K8akxy1eqpXYXfuNh6dPrdRX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212476},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.8.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/74f7d7209b2d17d9c960edaada2a6c37/centralinc-browseragent-1.8.1.tgz","_integrity":"sha512-DBjM2sjDhmatwd59n/Qha3WzKn6hmx2k6Y7q7eb7C4qzwYo719ZbnJucCXV6G/H0maznbL/He0ttnZblDBCzAw==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.8.1_1763967394064_0.5263030318790112","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@centralinc/browseragent","version":"1.9.0","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.9.0","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"890bf9901423347673f6b5407aa5483efb65c0f8","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.9.0.tgz","fileCount":7,"integrity":"sha512-SYoXkoBtGJxEMUNIiA2NTCR5a+LXc8qnnnKhGvQbUFfqW7mbibC1L2DVMjIQY5i93nnPwiXkxETWeeVMs1dXoA==","signatures":[{"sig":"MEYCIQDizhCSncuGL/0f1AqfbI7+zdoxdiiLx6SHiwl5rnVY4wIhALmKOwcBW3XSLc7qqhn2e7tgVcCOknH0uNMGYe2on5rq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219246},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/4b92f4d3dbf8e6efe6b9f0b9ed412a36/centralinc-browseragent-1.9.0.tgz","_integrity":"sha512-SYoXkoBtGJxEMUNIiA2NTCR5a+LXc8qnnnKhGvQbUFfqW7mbibC1L2DVMjIQY5i93nnPwiXkxETWeeVMs1dXoA==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.9.0_1765291159812_0.15890172704641814","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"@centralinc/browseragent","version":"1.9.2","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.9.2","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"d291acd20ce8e7531dcda08aaa0fd3ff7b8889e4","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.9.2.tgz","fileCount":7,"integrity":"sha512-SvFQXDU0zNe1cxF5H1ULI+L9IpELlp1Qe9nIoDjILr6HlELpTk6XX7C4kGFXskkH4AgdaMGntmUk7o/wBHcy+w==","signatures":[{"sig":"MEUCIQD966Wu0czC2IjYR4Hs9O82L6ch8+Pt8LJo3AvBROT55wIgT/Bip5JlBh+5owiKibFXlwt2exJ8Yh5JDN2XO2fy/YM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223460},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.9.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/09a3e5ecc9ce81b3940bfe3beda16113/centralinc-browseragent-1.9.2.tgz","_integrity":"sha512-SvFQXDU0zNe1cxF5H1ULI+L9IpELlp1Qe9nIoDjILr6HlELpTk6XX7C4kGFXskkH4AgdaMGntmUk7o/wBHcy+w==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.9.2_1765569195077_0.07871404254962777","host":"s3://npm-registry-packages-npm-production"}},"1.9.3":{"name":"@centralinc/browseragent","version":"1.9.3","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.9.3","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"5f8f3030389b042bab5e67e296c26df41000a789","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.9.3.tgz","fileCount":7,"integrity":"sha512-zuUQeo0i8R5PauViPHd17i5i31tbtBTr0lisDCkGVt5/Fz9VMeHretegdPLJh9hjdrhWz41Rpq75pptBGI7D7Q==","signatures":[{"sig":"MEQCIGNlqQpx5EB7VRaGK9fEcgmFpwWuIRfbU1J1NAVkk2/tAiAjUeqachpLAJsUF/QiSPMI7F2FffFG4ro/ZGgf7lfQjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225174},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.9.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/67349f16e67d5385b47768b760fe7b45/centralinc-browseragent-1.9.3.tgz","_integrity":"sha512-zuUQeo0i8R5PauViPHd17i5i31tbtBTr0lisDCkGVt5/Fz9VMeHretegdPLJh9hjdrhWz41Rpq75pptBGI7D7Q==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.9.3_1765821423219_0.7542677690348008","host":"s3://npm-registry-packages-npm-production"}},"1.9.4":{"name":"@centralinc/browseragent","version":"1.9.4","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.9.4","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"530f372e3e3d612ad16593c54bbc8d18fa8b2bee","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.9.4.tgz","fileCount":7,"integrity":"sha512-jbhkHq4hT9n+lTg07gF4pusvJzeBsJ3j3usD53O+8GUDhWe5KIbL/6zzVuPWWMnOgtvnSUu+/wHXE519Apr1nA==","signatures":[{"sig":"MEUCIQCGG8xSa0cbTMasPsT2YIdO4d4LxNgqylf2Pl2rp1FzAwIgOjrJJ3R6QfUY3NRltwdwPONCkA1TPf5djYn7Q0/iKR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225454},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.9.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/f3c0e5bc21ce97c90543c19403c4e4f5/centralinc-browseragent-1.9.4.tgz","_integrity":"sha512-jbhkHq4hT9n+lTg07gF4pusvJzeBsJ3j3usD53O+8GUDhWe5KIbL/6zzVuPWWMnOgtvnSUu+/wHXE519Apr1nA==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.9.4_1765822704246_0.5522583133650356","host":"s3://npm-registry-packages-npm-production"}},"1.9.5":{"name":"@centralinc/browseragent","version":"1.9.5","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","_id":"@centralinc/browseragent@1.9.5","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"dist":{"shasum":"945993c3e4a33cc8c1332500a55bb46d4a95a47d","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.9.5.tgz","fileCount":7,"integrity":"sha512-kLRSW6kGtlG4/kJSVF5LWdYRDQI8CygBp6FYaFWn7l3TUX3cOXqYSQStpIREbK+0TS84+4wZRxBSSsoO7q/Lpw==","signatures":[{"sig":"MEQCIBQZKraJx0v9shxQhWEd/wFb8k5TkOIeE64vMhoioDznAiBcS9C6WBjPlC9PRlK0mdR4T5ZsL2ykPudt7obeR6ckyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225428},"main":"./dist/index.cjs","_from":"file:centralinc-browseragent-1.9.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint .","test":"echo 'No tests yet' && exit 0","build":"tsup","clean":"rimraf dist","format":"eslint . --fix","release":"changeset publish","version":"changeset version","lint:fix":"eslint . --fix","changeset":"changeset","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"_resolved":"/tmp/0612593c365d668edf89e102c5e5e7ff/centralinc-browseragent-1.9.5.tgz","_integrity":"sha512-kLRSW6kGtlG4/kJSVF5LWdYRDQI8CygBp6FYaFWn7l3TUX3cOXqYSQStpIREbK+0TS84+4wZRxBSSsoO7q/Lpw==","repository":{"url":"git+https://github.com/centralinc/browseragent.git","type":"git"},"_npmVersion":"10.8.2","description":"Browser automation agent using Computer Use with Playwright","directories":{},"_nodeVersion":"18.20.8","dependencies":{"luxon":"3.6.0","@types/luxon":"^3.6.2","reflect-metadata":"^0.2.1","@anthropic-ai/sdk":"0.52.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.25.0","tsup":"^8.0.0","eslint":"^9.0.0","rimraf":"^5.0.0","@eslint/js":"^9.0.0","playwright":"^1.42.1","typescript":"^5.0.0","@types/node":"^24.1.0","@changesets/cli":"^2.29.6","@playwright/test":"^1.42.1","zod-to-json-schema":"^3.23.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^8.0.0","@changesets/changelog-github":"^0.5.1","@typescript-eslint/eslint-plugin":"^8.0.0"},"peerDependencies":{"zod":"^3.25.0","playwright":"^1.40.0","@playwright/test":"^1.40.0","zod-to-json-schema":"^3.23.0"},"_npmOperationalInternal":{"tmp":"tmp/browseragent_1.9.5_1765825346903_0.8615392212070425","host":"s3://npm-registry-packages-npm-production"}},"1.9.6":{"name":"@centralinc/browseragent","version":"1.9.6","description":"Browser automation agent using Computer Use with Playwright","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"author":{"name":"Central Inc"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/centralinc/browseragent.git"},"homepage":"https://github.com/centralinc/browseragent#readme","bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"peerDependencies":{"@playwright/test":"^1.40.0","playwright":"^1.40.0","zod":"^3.25.0","zod-to-json-schema":"^3.23.0"},"dependencies":{"@anthropic-ai/sdk":"0.52.0","@types/luxon":"^3.6.2","luxon":"3.6.0","reflect-metadata":"^0.2.1"},"devDependencies":{"@changesets/changelog-github":"^0.5.1","@changesets/cli":"^2.29.6","@eslint/js":"^9.0.0","@playwright/test":"^1.42.1","@types/node":"^24.1.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint":"^9.0.0","eslint-config-prettier":"^9.0.0","playwright":"^1.42.1","rimraf":"^5.0.0","tsup":"^8.0.0","typescript":"^5.0.0","zod":"^3.25.0","zod-to-json-schema":"^3.23.0"},"publishConfig":{"access":"public"},"scripts":{"build":"tsup","clean":"rimraf dist","format":"eslint . --fix","lint":"eslint .","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test":"echo 'No tests yet' && exit 0","changeset":"changeset","version":"changeset version","release":"changeset publish"},"_id":"@centralinc/browseragent@1.9.6","_integrity":"sha512-onsSbYn73v49txy9IIg4zOB+bQiloN9tYBZLVb4oNESwnB3i7Q9fBStKbsiCp68agh3MsMNQBRKSBAIr6mB9Qw==","_resolved":"/tmp/8aabfc9579dd73158e9c25ded1f7a46e/centralinc-browseragent-1.9.6.tgz","_from":"file:centralinc-browseragent-1.9.6.tgz","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-onsSbYn73v49txy9IIg4zOB+bQiloN9tYBZLVb4oNESwnB3i7Q9fBStKbsiCp68agh3MsMNQBRKSBAIr6mB9Qw==","shasum":"a61e29f45074f50532a8acaa4dd86569137c01d2","tarball":"https://registry.npmjs.org/@centralinc/browseragent/-/browseragent-1.9.6.tgz","fileCount":7,"unpackedSize":225936,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@centralinc%2fbrowseragent@1.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDOARv25lkW9Opz6g6sfa0YQZ1ki/0b/SWkenP1PxTgyQIhAMYz0YUs27R79k5scmKIUNWXnCMz7dNVxClPNT9njR18"}]},"_npmUser":{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"},"directories":{},"maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browseragent_1.9.6_1767806756530_0.9269326791175736"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-28T19:50:55.920Z","modified":"2026-01-07T17:25:57.102Z","1.1.5":"2025-08-28T19:50:56.266Z","1.3.0":"2025-09-09T16:47:47.444Z","1.4.0":"2025-09-09T17:51:03.907Z","1.4.1":"2025-09-10T14:30:08.214Z","1.4.2":"2025-09-11T01:38:57.764Z","1.4.5":"2025-09-17T23:07:06.354Z","1.4.6":"2025-09-25T20:20:14.619Z","1.5.0":"2025-09-27T01:50:21.794Z","1.6.0":"2025-09-27T02:34:30.431Z","1.6.1":"2025-10-01T16:04:24.627Z","1.6.2":"2025-10-01T19:27:50.039Z","1.7.0":"2025-10-28T01:07:42.817Z","1.8.0":"2025-11-21T03:48:07.295Z","1.8.1":"2025-11-24T06:56:34.271Z","1.9.0":"2025-12-09T14:39:19.957Z","1.9.2":"2025-12-12T19:53:15.217Z","1.9.3":"2025-12-15T17:57:03.377Z","1.9.4":"2025-12-15T18:18:24.402Z","1.9.5":"2025-12-15T19:02:27.047Z","1.9.6":"2026-01-07T17:25:56.700Z"},"bugs":{"url":"https://github.com/centralinc/browseragent/issues"},"author":{"name":"Central Inc"},"license":"MIT","homepage":"https://github.com/centralinc/browseragent#readme","keywords":["browser","automation","agent","computer-use","playwright","anthropic","ai","typescript"],"repository":{"type":"git","url":"git+https://github.com/centralinc/browseragent.git"},"description":"Browser automation agent using Computer Use with Playwright","maintainers":[{"name":"jordanmnunez","email":"jordan.mnunez@gmail.com"}],"readme":"# @centralinc/browseragent\n\nBrowser automation agent using Computer Use with Playwright. This TypeScript SDK combines Anthropic's Computer Use capabilities with Playwright to provide a clean, type-safe interface for automating browser interactions using Claude's computer use abilities.\n\nThis fork is **purpose-built for high-volume RPA scenarios**—think large insurance back-offices, government form-filling portals, and other data-heavy workflows.  \nIt runs **seamlessly inside Temporal workflows**: the agent's native `pause` / `resume` / `cancel` **signals** can be surfaced as **Temporal signals**, letting your orchestration layer coordinate long-running jobs while operators jump in when needed (no tight coupling between the human and Temporal itself).  \nOur goal is to expose a **highly configurable, fine-grained agent**—dial it up for raw speed or dial it down for pixel-perfect, human-like precision.\n\n## 🆕 Additional Features in This Fork\n\n> **At-a-glance feature matrix**\n>\n> | ⚙️ Capability        | What it does                                    | Why it rocks                                             |\n> | -------------------- | ----------------------------------------------- | -------------------------------------------------------- |\n> | **Tool Registry**    | Generic capability system for any tool          | Extend agents with Slack, Discord, databases, etc.       |\n> | **Smart Scrolling**  | 90 % viewport scrolls + instant text navigation | Turbo page traversal **and** zero-waste dropdown control |\n> | **Typing Modes**     | Fill, fast-character, human-character           | Match CAPTCHA tolerances or burn through inputs          |\n> | **Signal Bus**       | Pause / Resume / Cancel at any step             | Add human QA checkpoints in production                   |\n> | **URL Extractor**    | Find links by visible text                      | Zero CSS selectors needed                                |\n> | **Speed Tweaks**     | Screenshot + delay optimisations                | Cut multi-step flows from minutes to seconds             |\n> | **Browser Context**  | createPage() for custom tools                   | Spawn sub-agents, isolated tasks, shared sessions        |\n\nBelow are the flagship improvements shipped in the fork:\n\n### 🔗 URL Extraction Tool\n\nExtract URLs from any visible element - no CSS selectors needed! This feature is **unique to this fork**.\n\n#### How It Works\n\nThe agent automatically uses the URL extraction tool when you ask for URLs by visible text:\n\n```typescript\n// Simple URL extraction - just ask naturally!\nconst url = await agent.execute('Extract the URL from the \"Learn More\" link');\n\n// Extract from article titles\nconst articleUrl = await agent.execute(\n  'Get the URL from the article titled \"Introduction to AI\"',\n);\n\n// Extract multiple URLs with structured output\nconst urls = await agent.execute(\n  \"Extract URLs from the top 3 navigation links\",\n  z.array(\n    z.object({\n      linkText: z.string(),\n      url: z.string(),\n    }),\n  ),\n);\n```\n\n#### Advanced Capabilities\n\n**Smart Search Strategies** (prioritized in order):\n\n1. **Exact text matching** - Finds elements containing the exact visible text\n2. **Partial text matching** - Matches text within larger content blocks\n3. **Anchor tag detection** - Locates `<a>` tags containing the text\n4. **CSS selector fallback** - Direct element selection if text is a valid selector\n5. **Clickable element search** - Finds interactive elements with the text\n6. **URL pattern extraction** - Detects URLs directly within text content\n\n**Technical Features**:\n\n- **Computer Use optimized** - Works seamlessly with Claude's visual perception\n- **Multiple HTML structures** - Handles complex nested elements and dynamic content\n- **Automatic URL normalization** - Converts relative to absolute URLs\n- **Smart error handling** - Provides helpful feedback when elements aren't found\n- **Logging and debugging** - Built-in console logging for troubleshooting\n\n**Best Practices**:\n\n- Use the exact visible text you can see on the page\n- For buttons or links, use their label text (e.g., \"Download\", \"Read More\", \"View Details\")\n- For articles or stories, use their title text\n- The tool will automatically handle finding the associated URL\n\n---\n\n### 🛠️ Tool Registry System\n\nExtend your agents with **any external tool** using our flexible capability system - not just Playwright!\n\n#### How It Works\n\nThe Tool Registry provides a simple, type-safe way to add capabilities to your agents:\n\n```typescript\nimport { registerPlaywrightCapability } from \"@centralinc/browseragent\";\n\n// Add a custom Playwright capability\nregisterPlaywrightCapability({\n  method: \"check_all\",\n  displayName: \"Check All Checkboxes\",\n  description: \"Check all checkboxes matching a pattern\",\n  usage: \"Check multiple checkboxes at once by pattern\",\n  schema: z.tuple([z.string()]),\n  handler: async (page, args) => {\n    const [pattern] = args;\n    await page.locator(`input[type=\"checkbox\"]${pattern}`).check();\n    return { output: `Checked all checkboxes matching ${pattern}` };\n  },\n});\n\n// Use it naturally in prompts\nawait agent.execute('Check all the \"Accept Terms\" checkboxes on this form');\n```\n\n#### Extend Beyond Playwright\n\nThe registry supports **any tool type**. Here's a Slack integration example:\n\n```typescript\n// Create a Slack tool\nclass SlackTool implements ComputerUseTool {\n  name: \"slack\" = \"slack\";\n  // ... implementation\n}\n\n// Use it with the agent\nconst agent = new ComputerUseAgent({\n  apiKey: ANTHROPIC_API_KEY,\n  page,\n  additionalTools: [new SlackTool(SLACK_TOKEN)],\n});\n\n// Natural language Slack operations\nawait agent.execute(\n  \"Send a message to #general saying the deployment is complete\",\n);\nawait agent.execute(\n  \"Navigate to the metrics dashboard and share a screenshot in #analytics\",\n);\n```\n\n**Supported Tool Types**:\n\n- 📧 **Communication**: Slack, Discord, Teams, Email\n- 🗄️ **Data**: Databases, APIs, File systems\n- 🔧 **Utilities**: AWS, GitHub, Jira\n- 🤖 **Custom**: Any tool you can imagine!\n\n**Key Features**:\n\n- Type-safe with Zod schemas\n- Auto-generated documentation\n- Natural language prompts\n- No complex inheritance needed\n\nSee the [Tool Registry Design Doc](./design-docs/tool-registry.md) for complete examples.\n\n---\n\n### 🎯 Instant Text Navigation\n\nJump directly to any text in dropdowns, lists, or scrollable containers - no multiple scroll attempts needed!\n\n#### How It Works\n\nThe agent can use the `scroll_to_text` playwright method to instantly navigate to specific text:\n\n```typescript\n// The agent sees a state dropdown and needs Wyoming\nawait agent.execute(`\n  Use the playwright scroll_to_text method to find \"Wyoming\" in the state picker\n`);\n\n// Behind the scenes, the agent calls:\n// {\"name\": \"playwright\", \"input\": {\"method\": \"scroll_to_text\", \"args\": [\"Wyoming\"]}}\n```\n\n**Smart Features**:\n\n- Automatically detects scrollable containers in viewport\n- Searches visible containers first, then whole page\n- Case-insensitive fallback if exact match not found\n- Graceful fallback to regular scrolling if text not found\n- No CSS selectors needed - just the visible text!\n\n**When the agent uses this**:\n\n- Finding specific options in dropdowns (states, countries, etc.)\n- Navigating to products in long lists\n- Jumping to specific items in sidebars\n- Any scenario where exact text is known\n\n**Example**: Instead of 10+ small scrolls to find \"Wyoming\", it's now a single instant jump!\n\n---\n\n### 🖱️ Smart Scrolling (90 % Viewport)\n\nSpeed through long pages while preserving precise control in small UI elements.\n\n- **Default behaviour** &nbsp;→&nbsp; Scrolls ~90 % of the viewport with ~10 % overlap for maximum throughput.\n- **Fine control** &nbsp;→&nbsp; `scroll_amount` between **5-20** performs tiny scrolls—perfect for dropdowns, lists, side-panels.\n- **Configurable** &nbsp;→&nbsp; Accepts any `scroll_amount` 1-100 and degrades gracefully.\n\n> **Why it matters**: Form-heavy portals (e.g. insurance claim systems) often require rapid page-level scrolling punctuated by pixel-perfect adjustments inside select widgets. This feature automatically handles both cases.\n\n---\n\n### ⚡ Speed Optimizations\n\nScreenshots now capture **~5× faster** and post-action waits are shortened:\n\n| Action           | Old Delay | New Delay |\n| ---------------- | --------- | --------- |\n| Screenshot wait  | 2 s       | 0.3 s     |\n| Post-typing wait | 0.5 s     | 0.1 s     |\n| Post-scroll wait | 0.5 s     | 0.1 s     |\n| Mouse move pause | 0.1 s     | 0.02 s    |\n\nThese cut **1-2 seconds** from each multi-step interaction.\n\n> ⚠️ **Heads-up:** Some sites rely on human-like pacing for anti-bot checks. If you encounter captchas or missing render states, increase the delays via the new constructor parameters:\n>\n> ```ts\n> const fastComputer = new ComputerTool(\n>   page,\n>   \"20250124\",\n>   /* screenshotDelay */ 0.5,\n> );\n> // or adjust post-action waits inside ComputerTool if needed\n> ```\n\n---\n\n### ⏯️ Agent Signals (Pause / Resume / Cancel)\n\nBring **human-in-the-loop control** to long-running automation workflows.\n\n- **Pause** an active `agent.execute()` run to inspect or fix the page\n- **Resume** from the exact step where you left off\n- **Cancel** gracefully without killing the process\n- Real-time events: `onPause`, `onResume`, `onCancel`, `onError`\n\n```typescript\nconst agent = new ComputerUseAgent({ apiKey, page });\n\n// Subscribe to events\nagent.controller.on(\"onPause\", ({ step }) => console.log(\"Paused at\", step));\n```\n\n---\n\n### ⚙️ Configurable Execution Behavior\n\nThis fork includes a powerful configuration system that allows you to customize how the agent executes browser automation tasks. You can control typing speed, screenshot timing, scrolling strategy, mouse behaviour, and other automation settings to optimise for raw speed **or** human-like interaction.\n\n#### Available Configuration Options\n\n```typescript\nimport type { ExecutionConfig } from \"@centralinc/browseragent\";\n\nconst executionConfig: ExecutionConfig = {\n  typing: {\n    mode: \"fill\" | \"character-by-character\",\n    characterDelay: 12, // milliseconds between characters (character-by-character mode)\n    completionDelay: 100, // milliseconds to wait after typing completes\n  },\n  screenshot: {\n    delay: 0.3, // seconds to wait before taking screenshots\n    quality: \"low\" | \"medium\" | \"high\",\n  },\n  mouse: {\n    moveSpeed: \"instant\" | \"fast\" | \"normal\" | \"slow\",\n    clickDelay: 50, // milliseconds to wait after clicks\n  },\n  scrolling: {\n    /**\n     * When no scroll_amount is provided the agent will use this mode\n     * with ~90 % viewport coverage for page-level scrolling.\n     */\n    mode: \"percentage\", // (future-proofed for pixel or element-based modes)\n    /** Default percentage of the viewport to scroll. */\n    percentage: 90,\n    /** Overlap percentage to keep for context during large scrolls. */\n    overlap: 10,\n  },\n};\n```\n\n#### Typing Mode Configuration\n\nThe most impactful configuration is the typing behavior. You can choose between two modes:\n\n**🚀 Fill Mode (Fastest)** - Directly fills input fields bypassing keyboard events entirely:\n\n```typescript\nconst fastAgent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n  executionConfig: {\n    typing: { mode: \"fill\", completionDelay: 50 },\n  },\n});\n```\n\n**⌨️ Character-by-Character Mode (Human-like)** - Types text one character at a time with configurable delays:\n\n```typescript\nconst humanLikeAgent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n  executionConfig: {\n    typing: {\n      mode: \"character-by-character\",\n      characterDelay: 100, // 100ms between each character\n      completionDelay: 200,\n    },\n  },\n});\n```\n\n**⚡ Fast Character Mode (Balanced)** - Best of both worlds - visible typing but very fast:\n\n```typescript\nconst balancedAgent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n  executionConfig: {\n    typing: {\n      mode: \"character-by-character\",\n      characterDelay: 5, // Very fast character typing\n      completionDelay: 75,\n    },\n  },\n});\n```\n\n**Performance Comparison:**\n\n| Mode               | Speed          | Visibility      | Use Case                         |\n| ------------------ | -------------- | --------------- | -------------------------------- |\n| **Fill**           | ⚡⚡⚡ Fastest | ❌ Instant      | Production, speed-critical tasks |\n| **Fast Character** | ⚡⚡ Very Fast | ✅ Visible      | Development, debugging           |\n| **Slow Character** | ⚡ Human-like  | ✅ Very visible | Demos, human-like automation     |\n\n#### Try the Example\n\nRun the included example to see the performance differences:\n\n```bash\n# Run the typing configuration example (set ANTHROPIC_API_KEY first)\nnpx ts-node examples/example-typing-config.ts\nagent.controller.on('onResume', () => console.log('Resumed'));\n\n// Trigger a pause after 5 s\nsetTimeout(() => agent.controller.signal('pause'), 5_000);\n\n// Start a task (the controller is available immediately)\nawait agent.execute('Get the titles of the top 10 stories');\n```\n\nGreat for debugging, watchdog timeouts, and manual overrides.\n\n---\n\n### 🌐 Browser Context Access for Custom Tools\n\nCustom tools can now spawn new pages and even **delegate tasks to sub-agents** while sharing the same browser session (cookies, proxies, anti-detection).\n\n#### How It Works\n\nThe `ToolExecutionContext` now provides:\n\n- **`createPage()`** - Creates a new page with anti-detection scripts pre-applied\n- **`browserContext`** - Direct access to the Playwright `BrowserContext`\n\n```typescript\nimport type { ComputerUseTool, ToolResult, ToolExecutionContext } from \"@centralinc/browseragent\";\n\nclass ActivationLinkTool implements ComputerUseTool {\n  name = \"click_activation_link\";\n\n  async call(params: Record<string, unknown>, ctx?: ToolExecutionContext): Promise<ToolResult> {\n    if (!ctx?.createPage) {\n      return { error: \"Browser context not available\" };\n    }\n\n    const { url } = params as { url: string };\n    const page = await ctx.createPage();\n\n    try {\n      await page.goto(url, { waitUntil: \"domcontentloaded\" });\n      return { output: `Navigated to ${page.url()}` };\n    } finally {\n      await page.close();\n    }\n  }\n}\n```\n\n#### Sub-Agent Delegation Pattern\n\nThe real power is **spawning a sub-agent** on a new page to perform isolated tasks:\n\n```typescript\nimport { ComputerUseAgent } from \"@centralinc/browseragent\";\nimport { z } from \"zod\";\n\nclass DelegatedTaskTool implements ComputerUseTool {\n  name = \"delegated_task\";\n\n  async call(params: Record<string, unknown>, ctx?: ToolExecutionContext): Promise<ToolResult> {\n    if (!ctx?.createPage) {\n      return { error: \"Browser context not available\" };\n    }\n\n    const { task, url } = params as { task: string; url: string };\n    const page = await ctx.createPage();\n\n    try {\n      await page.goto(url);\n\n      // Create a sub-agent on the new page\n      const subAgent = new ComputerUseAgent({\n        apiKey: process.env.ANTHROPIC_API_KEY!,\n        page,\n      });\n\n      // Execute task and get structured result\n      const result = await subAgent.execute(\n        task,\n        z.object({ data: z.string(), success: z.boolean() })\n      );\n\n      return { output: JSON.stringify(result) };\n    } finally {\n      await page.close();\n    }\n  }\n}\n```\n\n**Use Cases:**\n\n- 📧 **Email verification** - Navigate to activation links, return success status\n- 🔐 **OAuth flows** - Handle OAuth in a separate page, return tokens\n- 📊 **Data scraping** - Scrape sites in isolation, return structured data\n- 🔄 **Multi-site workflows** - Agent A triggers sub-agent B to fetch data\n- ⚡ **Parallel operations** - Multiple sub-agents on different pages simultaneously\n\n#### Shared Init Scripts\n\nApply the same anti-detection scripts to your initial page:\n\n```typescript\nimport { applyInitScripts, ComputerUseAgent } from \"@centralinc/browseragent\";\n\nconst page = await context.newPage();\nawait applyInitScripts(page); // Same scripts used by createPage()\nawait page.goto(\"https://example.com\");\n\nconst agent = new ComputerUseAgent({ apiKey, page });\n```\n\n**Key Benefits:**\n\n- Pages share cookies, storage, and session state\n- Proxy configuration inherited automatically\n- Anti-detection scripts applied consistently\n- Managed pages are cleaned up on errors\n\n---\n\n## Features\n\n- 🤖 **Simple API**: Single `ComputerUseAgent` class for all computer use tasks\n- 🔄 **Dual Response Types**: Support for both text and structured (JSON) responses\n- 🛡️ **Type Safety**: Full TypeScript support with Zod schema validation\n- ⚡ **Optimized**: Clean error handling and robust JSON parsing\n- 🎯 **Focused**: Clean API surface with sensible defaults\n\n## Installation\n\n```bash\nnpm install @centralinc/browseragent playwright @playwright/test\n# or\nyarn add @centralinc/browseragent playwright @playwright/test\n# or\npnpm add @centralinc/browseragent playwright @playwright/test\n```\n\n## Quick Start\n\n```typescript\nimport { chromium } from \"playwright\";\nimport { ComputerUseAgent } from \"@centralinc/browseragent\";\n\nconst browser = await chromium.launch({ headless: false });\nconst page = await browser.newPage();\n\n// Navigate to Hacker News manually first\nawait page.goto(\"https://news.ycombinator.com/\");\n\nconst agent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n});\n\n// Simple text response\nconst answer = await agent.execute(\"Tell me the title of the top story\");\nconsole.log(answer);\n\nawait browser.close();\n```\n\n## API Reference\n\n### `ComputerUseAgent`\n\nThe main class for computer use automation.\n\n#### Constructor\n\n```typescript\nnew ComputerUseAgent(options: {\n  apiKey: string;\n  page: Page;\n  model?: string;\n})\n```\n\n**Parameters:**\n\n- `apiKey` (string): Your Anthropic API key. Get one from [Anthropic Console](https://console.anthropic.com/)\n- `page` (Page): Playwright page instance to control\n- `model` (string, optional): Anthropic model to use. Defaults to `'claude-sonnet-4-20250514'`\n\n**Supported Models:**\nSee [Anthropic's Computer Use documentation](https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/computer-use-tool#model-compatibility) for the latest model compatibility.\n\n#### `execute()` Method\n\n```typescript\nasync execute<T = string>(\n  query: string,\n  schema?: z.ZodSchema<T>,\n  options?: {\n    systemPromptSuffix?: string;\n    thinkingBudget?: number;\n  }\n): Promise<T>\n```\n\n**Parameters:**\n\n- **`query`** (string): The task description for Claude to execute\n- **`schema`** (ZodSchema, optional): Zod schema for structured responses. When provided, the response will be validated against this schema\n- **`options`** (object, optional):\n  - **`systemPromptSuffix`** (string): Additional instructions appended to the system prompt\n  - **`thinkingBudget`** (number): Token budget for Claude's internal reasoning process. Default: `1024`. See [Extended Thinking documentation](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking) for details\n\n**Returns:**\n\n- `Promise<T>`: When `schema` is provided, returns validated data of type `T`\n- `Promise<string>`: When no `schema` is provided, returns the text response\n\n## Usage Examples\n\n### Text Response\n\n```typescript\nimport { ComputerUseAgent } from \"@centralinc/browseragent\";\n\n// Navigate to the target page first\nawait page.goto(\"https://news.ycombinator.com/\");\n\nconst agent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n});\n\nconst result = await agent.execute(\n  \"Tell me the title of the top story on this page\",\n);\nconsole.log(result); // \"Title of the top story\"\n```\n\n### Structured Response with Zod\n\n```typescript\nimport { z } from \"zod\";\nimport { ComputerUseAgent } from \"@centralinc/browseragent\";\n\nconst agent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n});\n\nconst HackerNewsStory = z.object({\n  title: z.string(),\n  points: z.number(),\n  author: z.string(),\n  comments: z.number(),\n  url: z.string().optional(),\n});\n\nconst stories = await agent.execute(\n  \"Get the top 5 Hacker News stories with their details\",\n  z.array(HackerNewsStory).max(5),\n);\n\nconsole.log(stories);\n// [\n//   {\n//     title: \"Example Story\",\n//     points: 150,\n//     author: \"user123\",\n//     comments: 42,\n//     url: \"https://example.com\"\n//   },\n//   ...\n// ]\n```\n\n### Advanced Options\n\n```typescript\nconst result = await agent.execute(\n  \"Complex task requiring more thinking\",\n  undefined, // No schema for text response\n  {\n    systemPromptSuffix: \"Be extra careful with form submissions.\",\n    thinkingBudget: 4096, // More thinking tokens for complex tasks\n  },\n);\n```\n\n### Retry Configuration\n\nThe SDK includes built-in retry logic for handling connection errors and transient failures:\n\n```typescript\nimport { ComputerUseAgent, type RetryConfig } from \"@centralinc/browseragent\";\n\nconst retryConfig: RetryConfig = {\n  maxRetries: 5,             // Maximum retry attempts (default: 3)\n  initialDelayMs: 2000,      // Initial delay between retries (default: 1000ms)\n  maxDelayMs: 60000,         // Maximum delay between retries (default: 30000ms)\n  backoffMultiplier: 2.5,    // Exponential backoff multiplier (default: 2)\n  preferIPv4: true,          // Prefer IPv4 DNS resolution (helpful with VPNs like Tailscale)\n  retryableErrors: [         // Errors that trigger retries\n    \"Connection error\",\n    \"ECONNREFUSED\",\n    \"ETIMEDOUT\",\n    \"ECONNRESET\",\n    \"socket hang up\",\n  ],\n};\n\nconst agent = new ComputerUseAgent({\n  apiKey: process.env.ANTHROPIC_API_KEY!,\n  page,\n  retryConfig, // Custom retry configuration\n});\n```\n\nThe retry mechanism uses exponential backoff with jitter to avoid thundering herd problems. Connection errors and network timeouts are automatically retried with increasing delays.\n\n**Note for VPN/Tailscale Users:** If you're experiencing `ENETUNREACH` errors with IPv6 addresses, set `preferIPv4: true` in your retry configuration to resolve DNS to IPv4 addresses only.\n\n### Tool Registry API\n\nThe SDK exports functions for extending capabilities:\n\n```typescript\nimport {\n  registerPlaywrightCapability,\n  getToolRegistry,\n  defineCapability,\n} from \"@centralinc/browseragent\";\n\n// Register a new Playwright capability\nregisterPlaywrightCapability({\n  method: \"custom_action\",\n  displayName: \"Custom Action\",\n  description: \"Performs a custom browser action\",\n  usage: \"Detailed usage instructions\",\n  schema: z.object({ selector: z.string() }),\n  handler: async (page, args) => {\n    // Implementation\n    return { output: \"Success\" };\n  },\n});\n\n// Register capabilities for other tools\nconst registry = getToolRegistry();\nregistry.register(\n  defineCapability(\"slack\", \"send_message\", {\n    displayName: \"Send Message\",\n    description: \"Send a Slack message\",\n    usage: \"Send message to channel\",\n    schema: z.tuple([z.string(), z.string()]),\n  }),\n);\n```\n\n## Environment Setup\n\n1. **Anthropic API Key**: Set your API key as an environment variable:\n\n   ```bash\n   export ANTHROPIC_API_KEY=your_api_key_here\n   ```\n\n2. **Playwright**: Install Playwright and browser dependencies:\n   ```bash\n   npx playwright install\n   ```\n\n## Computer Use Parameters\n\nThis SDK leverages Anthropic's Computer Use API with the following key parameters:\n\n### Model Selection\n\n- **Claude 3.5 Sonnet**: Best balance of speed and capability for most tasks\n- **Claude 4 Models**: Enhanced reasoning with extended thinking capabilities\n- **Claude 3.7 Sonnet**: Advanced reasoning with thinking transparency\n\n### Thinking Budget\n\nThe `thinkingBudget` parameter controls Claude's internal reasoning process:\n\n- **1024 tokens** (default): Suitable for simple tasks\n- **4096+ tokens**: Better for complex reasoning tasks\n- **16k+ tokens**: Recommended for highly complex multi-step operations\n\nSee [Anthropic's Extended Thinking guide](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#working-with-thinking-budgets) for optimization tips.\n\n## Error Handling\n\nThe SDK includes built-in error handling:\n\n```typescript\ntry {\n  const result = await agent.execute(\"Your task here\");\n  console.log(result);\n} catch (error) {\n  if (error.message.includes(\"No response received\")) {\n    console.log(\"Agent did not receive a response from Claude\");\n  } else {\n    console.log(\"Other error:\", error.message);\n  }\n}\n```\n\n## Best Practices\n\n1. **Use specific, clear instructions**: \"Click the red 'Submit' button\" vs \"click submit\"\n\n2. **For complex tasks, break them down**: Use step-by-step instructions in your query\n\n3. **Optimize thinking budget**: Start with default (1024) and increase for complex tasks\n\n4. **Handle errors gracefully**: Implement proper error handling for production use\n\n5. **Use structured responses**: When you need specific data format, use Zod schemas\n\n6. **Test in headless: false**: During development, run with visible browser to debug\n\n## Security Considerations\n\n⚠️ **Important**: Computer use can interact with any visible application. Always:\n\n- Run in isolated environments (containers/VMs) for production\n- Avoid providing access to sensitive accounts or data\n- Review Claude's actions in logs before production deployment\n- Use allowlisted domains when possible\n\nSee [Anthropic's Computer Use Security Guide](https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/computer-use-tool#security-considerations) for detailed security recommendations.\n\n## Requirements\n\n- Node.js 18+\n- TypeScript 5+\n- Playwright 1.52+\n- Anthropic API key\n\n## Related Resources\n\n- [Anthropic Computer Use Documentation](https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/computer-use-tool)\n- [Extended Thinking Guide](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking)\n- [Playwright Documentation](https://playwright.dev/)\n- [Zod Documentation](https://zod.dev/)\n\n## License\n\nSee [License](./LICENSE)\n","readmeFilename":"README.md"}