{"_id":"reflex-browser","_rev":"37-d17ae923f0e86554bebdd74d8da62fef","name":"reflex-browser","dist-tags":{"latest":"0.12.2"},"versions":{"0.2.0":{"name":"reflex-browser","version":"0.2.0","license":"MIT","_id":"reflex-browser@0.2.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"6bb163a8a72cff1a6fcd8737c464e17a65e60630","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.2.0.tgz","fileCount":7,"integrity":"sha512-q6Kfyw4bxSLlqJEZSrY+MNtL5Uye+p72n5qtcfSwPtU/8cLKzIFjZwKksp9VKeQjg8Yv+FJu4bmppN83mzceGg==","signatures":[{"sig":"MEQCIEdplbDy0RxAU/RO1IRiuVzPCH89D5n2R4fwlGFkWvoTAiAYSoEq9eeK5H7J9CDjSh2ohf40GMUsjemMs3ZIOYPcQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109236},"gitHead":"703b34a48da3d4137b0ab97068561e7702dd2037","scripts":{"test":"node test/smoke.js && node test/engine.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.2.0_1781379012600_0.1765671321776492","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"reflex-browser","version":"0.3.0","license":"MIT","_id":"reflex-browser@0.3.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"349d86bb276f8f7515827d6f109dbc3539c284d8","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.3.0.tgz","fileCount":7,"integrity":"sha512-/rylzy12eyDXBGgdBqx9+Tpe02f65pHVtAX0rrJOFw9PK0EyEc+En21EziLO+ag6OVIYtzj5ed5cj9EjUU81pA==","signatures":[{"sig":"MEUCIAR1oHiXXu0dCIqkwE90u2tf3QrzWrz9/8/WhpdBwvItAiEA2Dt2B+TgYmqLmUQmlX0NQq/W3CwHxP3qlFsGBXu26p4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117798},"gitHead":"46d032c3c2e04762877deddec7981b5062d0fb8a","scripts":{"test":"node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.3.0_1781512855118_0.8409956284986579","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"reflex-browser","version":"0.3.1","license":"MIT","_id":"reflex-browser@0.3.1","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"c8d6600f314a28a71533ed8a578b4f7bceeb5a5d","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.3.1.tgz","fileCount":7,"integrity":"sha512-Tc0USQI8hmq5ERVZ7WFD/ncP1XowMFQZCv4qcoWXrFTu4MMo+E1T9AS+sc5qcnTUbS4zOMFzK/qsBJjSNG/EaQ==","signatures":[{"sig":"MEQCICmbHANTly5fybiN67BNAatLmC5vQ9/5Dc0XHPf6Agi0AiBfe1dfUZOU/6IOa8x9yW7KuuoLgtgUQVUPHKZvR1rx6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118579},"scripts":{"test":"node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.3.1_1781541902549_0.5559381674312096","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"reflex-browser","version":"0.3.2","license":"MIT","_id":"reflex-browser@0.3.2","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"741816ac48ddac84de702b0691c74cf7c43d1723","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.3.2.tgz","fileCount":7,"integrity":"sha512-PAdQNw4iM/iw4dYz2CAFqhaIMRrmROGO+J7GUkQ1ePQ7kut0ysEFOh+ijILSw3BhVJxEkfdvC/dhdbT2kQ2OgA==","signatures":[{"sig":"MEUCIBCRZ88heQLlE3QGeWfaHfkPWzO2XvqPLac/LBuWF+wSAiEAnShq6QL22yclggROpTAxP3+bvHlZKe08MYUaoifeyGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118440},"gitHead":"7b772c61152634a308b9946a38dd368f5304dd68","scripts":{"test":"node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.3.2_1781552252975_0.27750822656477214","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"reflex-browser","version":"0.4.0","license":"MIT","_id":"reflex-browser@0.4.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"42ba4c93427c9b4005027396c9c85fa31c249daa","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.0.tgz","fileCount":7,"integrity":"sha512-YPDl3XMHL1V01eVxc8N6ZR+v5nqVmakik01CqEryvVbb7Rv6GxNXl2+WPfFq8GyDouWzhjU5Dd813PfJP64wVg==","signatures":[{"sig":"MEUCIG+yVY7nBeQ1GplBnpnAXY0S4113Siv0zL5nAcvczqCJAiEAm0GfNxt4J79cfSzrvtb2iYYyz6gzHKPcbw32/7uHJ0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133985},"gitHead":"6d22e2444a6d6b79ae6486cf24a8035edb1a8302","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.0_1781631264614_0.2987964282541862","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"reflex-browser","version":"0.4.1","license":"MIT","_id":"reflex-browser@0.4.1","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"e4b4dacb63ae98050f3aee975b5c093a423084e8","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.1.tgz","fileCount":7,"integrity":"sha512-RQJeaNlGIb7E3XojyRIJHWUTx3XhlVFX3LjO5Cj4Y+X48wY61gkF9MKTgfJTYcW3FNfnH67HITiUymmdGUs4Ew==","signatures":[{"sig":"MEUCIQCKHvXhax8o6TthRWsbI+Y3orrsBkaBCOe3NlE38j2UEAIgOBL60OOLrVppp2egFEU2S9Veq2ALQpiO1Nb0nDh7ItQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134588},"gitHead":"d07d671a6e672ef985584b46834c5a1b2f4a0e0a","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.1_1781692686106_0.7868604955110665","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"reflex-browser","version":"0.4.2","license":"MIT","_id":"reflex-browser@0.4.2","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"2e8886ce41fb64d292660b59e409966aa46a0a47","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.2.tgz","fileCount":7,"integrity":"sha512-Fl9gGpHWnrQJWG3BWXB5jtctAPoafsIsZDG1g+PIHvEI/P2YyzENkQPtMZIXyAP0OsIAkvpNPs5gqK6uTw9WrA==","signatures":[{"sig":"MEQCIC7ahP/u/ZeM29/gGla1owRRE8xAD36wk4K1Y4UifTazAiBgPlTAugpwtZWrz/4zmrzIeA6VvOwZ+lkMmpT3A3XUug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135556},"gitHead":"8fc939bb0a1bbc2eb50c187f20555e9e2331ec98","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.2_1781704427074_0.5848291667428489","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"reflex-browser","version":"0.4.3","license":"MIT","_id":"reflex-browser@0.4.3","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"14595d067354e43884e3c2c07f6ed7b6d6551a68","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.3.tgz","fileCount":7,"integrity":"sha512-sm1pDJrnBqK53BykqeuZvxxeprtJX4lFJZmCRUpMg89HT1WIe/6gFN6GsZ8aqwMNV5lQUlFY8A4LkaKTFqHn0w==","signatures":[{"sig":"MEYCIQCnlRIW92IZsYwI/A914B8QgfaNQ3GzUcTtoeKc/uqHnwIhAKFPJlLG4N2yDaOMQvQRiQ+kSR0rkOxPqtz8ywYMAoXc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140523},"gitHead":"dff288a3a5f847f8d5cdb88d2fcca1c8902d929b","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.3_1781715957728_0.15150543923956716","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"reflex-browser","version":"0.4.4","license":"MIT","_id":"reflex-browser@0.4.4","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"4a76709f129dac37791ac5da89ce348880b25b3f","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.4.tgz","fileCount":7,"integrity":"sha512-qu+uxJ83B71bIk1SyGxaElxYISaeS3qUDNs0yXcGBoUNomhM/Sv7erfV+wgCaOlTM/bVXMeWKM46eu55xrTONg==","signatures":[{"sig":"MEQCIDPVTcjFilPukhU7+D/gAZEOdoOqn7CnhIL6SNuy1YGSAiA58uwBq1Kl0kDRJhBpBjgEpTR6bidtHiKMpx+yWByCqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141521},"gitHead":"b7fe6977de373b493a555f6a73f26759b6261007","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.4_1781718080748_0.2500995021638668","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"reflex-browser","version":"0.4.5","license":"MIT","_id":"reflex-browser@0.4.5","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.openlabs.workers.dev","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"0edd8b7a92e16dc242ab4e73f1c61be66f460bbb","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.5.tgz","fileCount":7,"integrity":"sha512-+2R3Zq1+EfijrUYHGQyy0s3sPjD88U+CHh7knVz84h4GeRdVZi/0CQTfwxqI9Y7GLe/GCcf1Nb9CBTPQA/SxgA==","signatures":[{"sig":"MEYCIQCXLEk/I2ZQebG8Nid70G1AS4FlOJxNcYdF3mTG/5fWowIhAP9E+ghFxZIxePNSGbn6Nb6I5SsFRNKKXI1rQVl3c2zI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141521},"gitHead":"521fae23980c04bd4c4922f1f9340afe2f80c20c","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.5_1781979098749_0.8635805688213678","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"reflex-browser","version":"0.4.6","license":"MIT","_id":"reflex-browser@0.4.6","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"932ae5135047d7e0eaa78223ecda887e82a312f8","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.6.tgz","fileCount":7,"integrity":"sha512-2xxoN0UzjkbbWetWfg7LJgZPQD/JV7GDDtiU7e803O+DJNNLlS3mYPR2ch7FxwuzN4bouVZbJ2Hh+MUcIRHLJA==","signatures":[{"sig":"MEYCIQDUICsiSqmToE9BCa5uUw2bqzciVWFGyQqGxwtcEozamwIhAMhvED+QWKVtAXuJJHCVtZ0qmlEMqCSx8a4FinLuU2xI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141470},"gitHead":"d3de72ae08d5bedf70ac9d478db5386834872f36","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.6_1781980856028_0.2718150422707124","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"reflex-browser","version":"0.4.7","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.7","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"6fdd79cf09a7e9fd789d5a14918f6c9066e8fd6b","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.7.tgz","fileCount":7,"integrity":"sha512-zN45uL9i5RU4pQHDn5pA87u/Rm6N4b3VHzZdvJbCiy2Jp3KWEPcgTMKOG4vGj9UxUVjJG3ehtrCtoxvq5ZbImw==","signatures":[{"sig":"MEUCIQD1CHj9iBbv7YbH9k2sDwH/cBKEJ2ShqGlPgdhjG7JG0wIgVBPp03pHPcEl5lK6/qZmIm/Aoe38OR+qbF6vm+v1TCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144291},"gitHead":"eaf0c9f14a5f4844b63c8d51dfa86870ef66d668","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.7_1782033860939_0.24227899525653918","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"reflex-browser","version":"0.4.8","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.8","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"e9e7116d07c9fcf2ff66ede862338af83ed945fb","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.8.tgz","fileCount":7,"integrity":"sha512-OWtLjZFe7ZOWchQp1pd+iyrUOZ51i07C9tYuK7jMN8KzESMw5yI1apdklH5QRWEoJQ0A6Z7VW8lnVSAu09jjwg==","signatures":[{"sig":"MEYCIQDLoPYEmkcAn9Rey/HHere8ciL28f8wYO3lLssZPwa1awIhALxPVtw9EQLRu5j9J2HoADkUn1S3LHyoyE2c8AoGDPbc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145811},"gitHead":"294e13e58ab4608bbe3016d43381ffd3189fdefc","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.8_1782039345265_0.5992309951537771","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"reflex-browser","version":"0.4.9","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.9","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"6c72ed5e95dae2a26d4b1a57ea95688b958edc20","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.9.tgz","fileCount":7,"integrity":"sha512-azE3O5XJpH9JJpk58EWqKSlCRh7hQQxj8CH9BLeS8mccKuNhEwT2DrzZPE4w6HgTIBaWAmMXZo4zKU7nHx199g==","signatures":[{"sig":"MEQCIAzWOn7MOhJrq5a/Q2T5sfWadtrW6vqmfvTdIHyzen2HAiBArIjmL0XLKSeF+0hFgzHrpoiE6jyJSLITlfQxWGhHeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146751},"gitHead":"9021d366a36473bd12a4de99b3ec87f0d4a63bd9","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.9_1782063026563_0.756457294158311","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"reflex-browser","version":"0.4.10","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.10","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"03d3caf680a11187da6591f7e53271bd15e78504","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.10.tgz","fileCount":7,"integrity":"sha512-M5MbVL8JpQArlRIraZmA4yw/XxEbJed6kwYKxxpCViYhuhINzcJCVYwDgf3R4EWmWnAaKcu8beN7ZLr7YP2HwQ==","signatures":[{"sig":"MEUCIAd/Ia3GBUodzFXu766e3aPsj5zxwwlf487bPBhr+L+nAiEAn4XuLE3ObutrpQtI5bgyrdWEN9utrxmb/OZz2Y+jMnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147029},"gitHead":"f85c7c8f1af7920f7907db222c81087c1e7b0d60","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.10_1782108961875_0.2578333673477755","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"reflex-browser","version":"0.4.11","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.11","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"67ab2f08969b25d24ef0774b799123a593f31db8","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.11.tgz","fileCount":7,"integrity":"sha512-MuCaxli96+AzWU+SxHDCMYbTNP0AXTEyZ+ZrJ7plIzPQujpTCYRpnVDvCgElY2EVYSExbIurwCokfSPVfr9MEw==","signatures":[{"sig":"MEUCIQD703irOgvZ5thvng45v+WpxNhfbUdqRIFocrpPXYNSdgIgRDlePnIgZ8x62qm7nB54UWA4T8Hb7yVPvomt/QrFMQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147438},"gitHead":"3df1c635b03e9c94a48465855a0c56569fdbe71a","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.4","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.11_1782139943141_0.9116856742658053","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"reflex-browser","version":"0.4.12","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.12","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"96cbe84923e2032c3d6363fc8c905fb981a26ecd","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.12.tgz","fileCount":7,"integrity":"sha512-ctULJMHTRvmm4R+ojatbBVmE66BbX4MwqxsvFB4U62RULOVStBIRRHyC1dpThEJ59yiBDoRMS0SYg4gWzv+H2Q==","signatures":[{"sig":"MEUCIQCwZ2PLgUvRlwvXXWFCSHfe6LOaaOxa8FUUwlwZ+PsAUQIgT3PGkIJpsZ2y+DjCyxabuitSlgYMTAFwKkrsBEW9Rks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147537},"gitHead":"c982324a45c4bf2b3f6b26a8c42d9971081bcfef","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.12_1782284942989_0.9660572577857682","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"reflex-browser","version":"0.4.13","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.13","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"cf924ed3c1c47d46f4cd34a9a75db04e8a98a5df","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.13.tgz","fileCount":7,"integrity":"sha512-aqXV93dGOfQDfotxCN8Pz0aCEhf810sqSoU6MNKm1etUXhhBu9BjO6IBN/IDiFd8oyV6r77CiUrzloipR/h5tQ==","signatures":[{"sig":"MEUCIHGIswfRMTGPcKdwj5d2FePbVcVbkZdWulOiccMKK/mMAiEA2/wDGoIdJjvE2+a85/HGwWAyiTRuRVvQQIYkkga1cQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148005},"gitHead":"b7744760fbef5fb1f4d0650f39e83b82be30fa96","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.13_1782631186308_0.05729791586598343","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"reflex-browser","version":"0.4.14","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.14","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"3a0f50a3afd846925f1a0c6fd27d3ed0dae23583","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.14.tgz","fileCount":7,"integrity":"sha512-Y3Y9JTtFy0W+28/dz/8lEyDn5uBQB3z8SxDpKTQ2NzPGId4szOFvOw4FyuUaiR9z/R8ZmuzyaD9DCEt8xlDpuw==","signatures":[{"sig":"MEQCIFomTyj0UiX57AUnKvTFuWZPqyyCu4AUJFA8wHlCCZLvAiAoA8xDMQUyCPVCVSXZSfqlaL142ywKTpK8K1j6DoeabQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154906},"gitHead":"59339eaddf1834ff05de94895615f87306742e30","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.14_1782718585914_0.016146982675177668","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"reflex-browser","version":"0.4.15","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.15","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"8780a3a89e25093602997f782cfca1179c90d8d0","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.15.tgz","fileCount":7,"integrity":"sha512-VRtijseH34vMwjXJbZHjFFNTkX4rwwxgPxxejqjI6E4oAudXJo+J7vg9jjbYhiHiixTpJmQjsKhSuc/r9w8ezQ==","signatures":[{"sig":"MEYCIQDhuPA9DAhgNYwyJcbWA9NOiHTJDIpeEZzpRL+/L526wwIhAI49HYasXS/awr4wZnYldbiDD+0LCq7eEEN7d47Z92Vt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157055},"gitHead":"ba2967ccfcf663b7f544fa571fc822be5b79757c","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.15_1782720126313_0.7434333167526381","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"reflex-browser","version":"0.4.16","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.16","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"7d02582725429006dc53630f2108630f4e93d098","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.16.tgz","fileCount":7,"integrity":"sha512-+uO4VFzx3FMZyMtoEy5o+SssTdsY6k76nobJSwpp3RntT0FwAMjdPaxA4XtHtDReTTJXhZKGSW4Nvi//ssei6w==","signatures":[{"sig":"MEUCIQCK44Ex5QUV7+9EQrQc3AWzE9kAV+Xs9dGEtcZM9ajHGwIgdz8N60ZDmfhCeae3xNP2JEgvy6crMnmzRA7g8/QWM0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158857},"gitHead":"720b26a8d12e94e598e51819b1c99ae716d4fc43","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.16_1782723952827_0.8262977163374043","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"name":"reflex-browser","version":"0.4.17","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.4.17","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"a8fff03965fc993d3043227589138ee055e36bfc","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.4.17.tgz","fileCount":7,"integrity":"sha512-GiFedUZ7Gkrj0MPZBI1unPEIPWro1FzR3FbzI5Hqq8JLAjwa0K9Ymnbwig7OaaxSdziB9Khp1yP2kCOko5jvFg==","signatures":[{"sig":"MEUCIQCvNsf1hpAOOImNDujCBEXHkDR9l80QF4Pc2Q6s7EBNMgIgOzHEht1gJeIV7UGhrncDQn/Pc5Cbghza2ajUQPhprUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158917},"gitHead":"ebc5f04d4446b21054b9f42689ea872766c9afc4","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.4.17_1782726236908_0.540038215192435","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"reflex-browser","version":"0.5.0","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.5.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"f7709522eae6bf64ea8179aa8c4b52755c32cf67","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.5.0.tgz","fileCount":7,"integrity":"sha512-5kaNHQj8BAeGHP0LGIs12oDRjzBWHgyLL6i38lrqNeVAJW1NN8KR43+ANGsYLyqXGV5IctYtfP+ocKomn+yCKg==","signatures":[{"sig":"MEUCIQDXDSO2WvaKLKxS+KMeEbUqVVzS4RfMkHxZUON6o2QxBQIgH0ChuhVHgIGoPxZXn+gOizmG2J8deuZhtOe2DHPV1a0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183888},"gitHead":"4bb18d47072dfca4661871a5d9b91b943e02535f","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.5.0_1782940974292_0.3881450912491182","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"reflex-browser","version":"0.6.0","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.6.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"1e48ad310d19f6e791f5b57658dfe8248546ac7e","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.6.0.tgz","fileCount":7,"integrity":"sha512-aLtIlVbPN1Ew/K0K6y4+7e6XXtCHg/XYPUST8DrETLHCM+L3CIPThT50Z6asjR/GEfFo0lM09cN4Vc2RWqAZdg==","signatures":[{"sig":"MEUCIQCqI8o/0M72vwLvNMtlq9K71lrgkKzjyZ5hBadl3eDjqgIgUykvFtgpsPEL5bHfHdpIW9c3535v7/r0mNQuDmydXUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186854},"gitHead":"093813c9394e0fe8ce1e1e7b3fdd638effff4909","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.6.0_1782947176156_0.04215659262954041","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"reflex-browser","version":"0.7.0","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.7.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"20c1a086838d86af7a62e7eac1b2e3d1668b98c6","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.7.0.tgz","fileCount":7,"integrity":"sha512-muGAtPPOx9gFaUibsG/xMSVSVs9O58v7ZVDfpeJsVcNLf7bHmrFVZrqiUNb0z+ZAzJ+/ynJ4QhKb/pWYoLV3kQ==","signatures":[{"sig":"MEUCIQC1ATFSPZl+tRj1REA8+eAhU8rCXxRVpWbpOSI6dazvAAIgI8EfHJNofjz0l7XQXe4fLHEp30t0Xtc08jZ8QjAdm6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197208},"gitHead":"f44a3a0f119490c0b4665101fc3e7f1bcaa179fa","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.7.0_1783102599459_0.4246081444333796","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"reflex-browser","version":"0.7.1","license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.7.1","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"1290b7544de06a2adf00281e94dc31d27636e389","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.7.1.tgz","fileCount":7,"integrity":"sha512-sXQ/hOOsZoahqa/ajSFPfLil7DTwlwbX4Hr3qWY5rY08/kY9ENaaZnogzY2/KZCUBKyfkoBzES/HzdDaQx3yRA==","signatures":[{"sig":"MEUCIAxKvXUAehO9oIMRPHrF+TqZFGG9mbXMINFVTt1wkxcmAiEA/5PcBuzTVXpnL/mK3yOcY1L3kfBBhC5ez93JfSHuP0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197613},"gitHead":"819354a50e4c6ed64c2e25914dcd4485d5903c62","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.7.1_1783281915106_0.505651959769962","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"reflex-browser","version":"0.7.2","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.7.2","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"7881cc81bc77a7509de7724b34cebf3d0372d3dc","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.7.2.tgz","fileCount":7,"integrity":"sha512-ucYjLfQEwdOKJaqheKjKR7X+dveb7LkiH5Aecyv0qdPf2butRtxmuiZlZclSMZWmA8G/pP/ZWL3Yy1rkX+Gefg==","signatures":[{"sig":"MEQCIFmouYt7u29TmpsAheo38Ipiq6VLqkyYHCJiNn3Vio4WAiB0lPHOtlRvtUxrx5x9GsdYlyCcJJT/5/DLisJaWI1BJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197869},"gitHead":"19523c0921922540c6a8b901349522ef17e4790a","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.7.2_1784653899027_0.675166848683975","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"reflex-browser","version":"0.8.0","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.8.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"b05efd34ee9a2b36b6d48848dd0853e2e2f748db","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.8.0.tgz","fileCount":7,"integrity":"sha512-S4BOhWwaVB/uO1VoYC/ifFi/eJzgE2kenwssQRnB13aXl9Y5eu0nZ7JAc8ekHk0MCsYSl0pDpZHC4DC0YlV0Bg==","signatures":[{"sig":"MEUCIQDy2TwM9oAEhEq806YAlUvYi3s+Vm2rPAD7bTUicssX6gIgT6co59UpmJXJO4wYIlFIU4Nx4vVfTS7TQu4ZZ5/SGJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208068},"gitHead":"5d6b3614d4a303d5aae2027dffadae2b75f6dfa8","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.8.0_1784957638728_0.6755400960079199","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"reflex-browser","version":"0.9.0","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.9.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"92f08822d4a42adad6dc591aa5ebfcbb778a9f25","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.9.0.tgz","fileCount":7,"integrity":"sha512-95XvQ9RAA5N07PXQLhxXPepB/tj2tU5Qt2lumWrmAMRdEvxzxUVOJcwrDJb5S0D2TYjzZuvuXNClLAp1P1MfxQ==","signatures":[{"sig":"MEUCIFCeAdICRSny12Je6ZSekidnlmz+97OAQzxUaALZDs8yAiEA4mZzis7lGnMdHD0TGY6nqidnCXqgYC8aP5G5PWJJJQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209949},"gitHead":"09730605041793f43734ee433193ff458a6b5472","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.9.0_1784962401552_0.8326582100325672","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"reflex-browser","version":"0.10.0","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.10.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"6814aa66760e2b99cdfeac502c9c91727c557296","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.10.0.tgz","fileCount":7,"integrity":"sha512-pD6zHCl9Du9d+sFT2WADNKsD40Z0HMzyQR5HZQFBh9yT4SGhLZZh4klUi6PEvGCsQiVZNXgj6s5rmcbug/yDZg==","signatures":[{"sig":"MEYCIQDKzNJQug+OAoqc0VS1yrQNF94Tc8EHWpTb2210U5pQWQIhALEqsLG0RGCtj66H2BYI+um+JEl5mEZ+qRQQUGBchZDG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212289},"gitHead":"fb6e3bcdc54dbd33ab3f6536057aab30413d54cb","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.10.0_1784964216245_0.01037414853154739","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"reflex-browser","version":"0.11.0","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.11.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"d8f31ba6d04769d6021d27c2188f568e61155e7c","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.11.0.tgz","fileCount":7,"integrity":"sha512-g/I6Egm+F+2AomaqMutddBjmUruIu7gp2SEtp8HJErjBGgYIxMJ3jOO1UjBNIu9r+AQoivjFHLCHPv/L1mw6kw==","signatures":[{"sig":"MEQCIFjOISBJ7WO3EwDlIHIdw57qF1wN86qTcaAzBRCsPoVrAiAhljKMX5nPHwk3ijIEdJmKgy3Ug/uXPkV8gUiRiDsGAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212703},"gitHead":"581475d3378a205036e9ccbb59da89a5c674fbc3","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.11.0_1784973186583_0.9729836598415524","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"reflex-browser","version":"0.11.1","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.11.1","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"c61c1c6f64498e516221cfd12f690e934aef2a74","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.11.1.tgz","fileCount":7,"integrity":"sha512-VIDWlHnnL74Y5OLU3aS3R67re6EPlEZ9LQ8cJUVm+s4gxGTUoLDFe1676vUaR2lG0ftP+bCMq9yPHQzTRkPefw==","signatures":[{"sig":"MEUCIQCkTq9I8DoUHNDuv1zAhJrOGEr2yROFYghKxT4bkHeNHwIgajxIEfoIDOFAz9UMFD4TjY7RTOk4ZmASmSrl3XE2MeY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212900},"gitHead":"74c7b99e7bc6c521e80aa5b10012016632ebff2b","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.11.1_1784976131732_0.49280250553362337","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"reflex-browser","version":"0.11.2","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.11.2","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"e09705603b9f7bdfb25ee0835c885a83a0ac9939","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.11.2.tgz","fileCount":7,"integrity":"sha512-xGxputS0zEgMix72o5R7ybcHGiu3kKGz4wDooBXzW0avOcdvVSJhGHFgWqzxJ0xZmmQIgWks76nKriocHg80Vg==","signatures":[{"sig":"MEQCIFAP+ik/pyiNU+m5kRNeFKCrVfRLoaBi0KD1Hd8UA+KnAiA/V788/edk67Oct5MXNt1G/bRH5NtkShOongdRBof4gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212945},"gitHead":"73624c1f1a46308a1c24affeea233afdc57a3504","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.50.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.11.2_1784977162088_0.2317697838329389","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"reflex-browser","version":"0.11.3","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.11.3","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"43e1a45ffce4ad8394d420f7e587f5660ab5029d","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.11.3.tgz","fileCount":7,"integrity":"sha512-6hboR8ih5qw7JpCrU7cQhCQJGKwh4ipw70y5pidAb1RPiPQr5TONiP0KtMJG9f6g/NWYH4zPvH9HpbNNOrChgw==","signatures":[{"sig":"MEYCIQD70jfhW2tmZwpULKxf8IUEu6EsrCTy5y5Qt6zSk7JIoQIhAJ7K/GPVi9F3ulbJ+BlogBFwReG0fXBXDwLrQo1Lfr76","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213652},"gitHead":"f0173bd6e57074c0e85ec17673e75168a0ba5ed6","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/flush.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"playwright-core":"^1.62.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.11.3_1785164557488_0.3001104351720585","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"reflex-browser","version":"0.12.0","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.12.0","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"b493da0a798825474195e1af8fb3b2cdf1929b69","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.12.0.tgz","fileCount":7,"integrity":"sha512-RScPQXPl1gLPNXvws9PXRpWceQfHCfXPI6mKns0Wc1ZQdcpI5adqiWy9OqLmCWGpjfJxat4Qx9dkTXrAEaxcJQ==","signatures":[{"sig":"MEYCIQCkqnvCrFCUmuBX2yTpTCvyf/3tOgzDI6gDzxMBY2aUEQIhAOFRk6TcV/LZ2UEu8cRYw3dfh8zdmwCSlYWaJSWGS2m6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254217},"gitHead":"78a8d56bc2a5216b6410c3056476b96a770f5753","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/flush.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"playwright-core":"^1.62.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.12.0_1786820699145_0.2949770039847499","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"reflex-browser","version":"0.12.1","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"license":"SEE LICENSE IN LICENSE","_id":"reflex-browser@0.12.1","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"homepage":"https://reflexmcp.com","bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"dist":{"shasum":"2bbf72013677f5a1f25a50c9d03b409352e0b03a","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.12.1.tgz","fileCount":7,"integrity":"sha512-xhGuquf4RmxwpGUe/1vdRBEictuDdd8lZX8xViBYXPIdc3Km90M+IEWzD/RvEczqiLwjAVxOWxVLFSm6B/zXZw==","signatures":[{"sig":"MEUCIQDy5UQXAXHGr26Ptp7eRckSsSbHiRtxWA14mQtxRL6vUQIgNXjASURe3TP3LlsxC06/1HN26CHuZlcgD7T7ZvdqxwI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBsucmwUiCR6fu60/uX0CouFTtDoXZSsmwoMLSHs1CfcAiA5Wcn0yay5R75SB+0zQm42wZt+men30WJnTTvBzp/WLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257493},"gitHead":"d1c65b42300128fa0dd748b2f05d78f052011a6b","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/flush.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"playwright-core":"^1.62.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/reflex-browser_0.12.1_1788853610872_0.71056818251039","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"_id":"reflex-browser@0.12.2","bin":{"reflex":"dist/reflex.js","reflex-browser":"dist/reflex-browser.js"},"bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"dist":{"shasum":"7bab4add3af97db4dd45d4dae436b2ebe70c862b","tarball":"https://registry.npmjs.org/reflex-browser/-/reflex-browser-0.12.2.tgz","fileCount":7,"integrity":"sha512-u7jUxrlBxS8vbL2OF5zxuCOyfDlMdH18I5NTlHlBjojBOTlCd0k/5as7vAvqRAb4kdZ0bh+cg4+8oKmIjMkFOw==","signatures":[{"sig":"MEUCIQDxUuEAt2Lxq+tT1Abph2TCiS+VparphUYng0z+zcfyXAIgbMZ6bUusx0KYjJ3Sk4pagsjowjWl+G98ILHsbiPNoIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEMCIBpjrUGBlcHziArMGuJ7TuzTP5it+ja8SdAxFWBCOvPqAh9z1F8oDbAjXocMf3mdRYqI/EhWzq1caE6IICYvLm6M"}],"unpackedSize":258204},"name":"reflex-browser","gitHead":"12e7d38422dd892ce779c1a028eb13ae6ee76e5a","license":"SEE LICENSE IN LICENSE","mcpName":"com.reflexmcp/reflex","scripts":{"test":"node test/profile.js && node test/smoke.js && node test/engine.js && node test/tenx.js && node test/mcp.js && node test/credits.js && node test/trial.js && node test/flush.js && node test/memory.js && node test/teardown.js && node test/hygiene.js && node test/parallel.js && node test/concurrency.js","bench":"node bench/run.js","build":"node scripts/build-dist.mjs","check":"npm run check:all","smoke":"node test/smoke.js","prepack":"npm run build","test:mcp":"node test/mcp.js","bench:h2h":"node bench/h2h-run.js","check:all":"mkdir -p checks-outputs && npm run check:root && npm run check:server && npm run check:web","check:web":"bash -c 'set -o pipefail; cd web && npm run typecheck 2>&1 | tee ../checks-outputs/web-type.txt && rm -rf .next && npm run build 2>&1 | tee ../checks-outputs/web-build.txt'","test:dist":"npm run build && REFLEX_TEST_CLI=dist/reflex.js REFLEX_TEST_BIN=dist/reflex-browser.js npm test","test:tenx":"node test/tenx.js","check:root":"bash -c 'set -o pipefail; node bin/reflex.js stop 2>/dev/null || true; npm test 2>&1 | tee checks-outputs/root-test.txt'","test:engine":"node test/engine.js","test:memory":"node test/memory.js","check:server":"bash -c 'set -o pipefail; cd server && npm test 2>&1 | tee ../checks-outputs/server-test.txt && npm run typecheck 2>&1 | tee ../checks-outputs/server-type.txt'","test:profile":"node test/profile.js","test:parallel":"node test/parallel.js","test:concurrency":"node test/concurrency.js"},"version":"0.12.2","_npmUser":{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"},"homepage":"https://reflexmcp.com","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"_npmVersion":"10.9.8","description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","directories":{},"maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"playwright-core":"^1.62.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/reflex-browser_0.12.2_1788854478966_0.1394675391667335"}}},"time":{"created":"2026-06-13T19:30:12.523Z","modified":"2026-09-08T08:01:19.287Z","0.2.0":"2026-06-13T19:30:12.731Z","0.3.0":"2026-06-15T08:40:55.268Z","0.3.1":"2026-06-15T16:45:02.722Z","0.3.2":"2026-06-15T19:37:33.132Z","0.4.0":"2026-06-16T17:34:24.758Z","0.4.1":"2026-06-17T10:38:06.245Z","0.4.2":"2026-06-17T13:53:47.253Z","0.4.3":"2026-06-17T17:05:57.903Z","0.4.4":"2026-06-17T17:41:20.963Z","0.4.5":"2026-06-20T18:11:38.910Z","0.4.6":"2026-06-20T18:40:56.161Z","0.4.7":"2026-06-21T09:24:21.083Z","0.4.8":"2026-06-21T10:55:45.423Z","0.4.9":"2026-06-21T17:30:26.696Z","0.4.10":"2026-06-22T06:16:02.041Z","0.4.11":"2026-06-22T14:52:23.271Z","0.4.12":"2026-06-24T07:09:03.177Z","0.4.13":"2026-06-28T07:19:46.452Z","0.4.14":"2026-06-29T07:36:26.110Z","0.4.15":"2026-06-29T08:02:06.460Z","0.4.16":"2026-06-29T09:05:52.957Z","0.4.17":"2026-06-29T09:43:57.089Z","0.5.0":"2026-07-01T21:22:54.463Z","0.6.0":"2026-07-01T23:06:16.298Z","0.7.0":"2026-07-03T18:16:39.584Z","0.7.1":"2026-07-05T20:05:15.285Z","0.7.2":"2026-07-21T17:11:39.202Z","0.8.0":"2026-07-25T05:33:58.923Z","0.9.0":"2026-07-25T06:53:21.718Z","0.10.0":"2026-07-25T07:23:36.395Z","0.11.0":"2026-07-25T09:53:06.782Z","0.11.1":"2026-07-25T10:42:11.869Z","0.11.2":"2026-07-25T10:59:22.267Z","0.11.3":"2026-07-27T15:02:37.691Z","0.12.0":"2026-08-15T19:04:59.296Z","0.12.1":"2026-09-08T07:46:50.952Z","0.12.2":"2026-09-08T08:01:19.075Z"},"bugs":{"url":"https://github.com/nitaiaharoni1/reflex-browser/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://reflexmcp.com","keywords":["mcp","browser-automation","playwright","claude-desktop","cursor","ai-agent","model-context-protocol"],"repository":{"url":"git+https://github.com/nitaiaharoni1/reflex-browser.git","type":"git"},"description":"Token-efficient browser automation for AI agents. Local MCP server + CLI: compressed page snapshots, batched actions, forensic failures.","maintainers":[{"name":"nitaiaharoni1","email":"nitaiaharoni1@gmail.com"}],"readme":"# Reflex\n\nToken-efficient browser automation CLI built for AI agents. Wraps Playwright's engine with an agent-native interface: distilled page snapshots, change deltas instead of page dumps, stable element refs, batched guarded actions, forensic failure reports, visual auditing, and agent-free replayable flows.\n\n**Reflex is designed for an AI agent in the loop.** The cost model it optimizes is the agent's, not the tool's: model round trips (each one costs seconds of inference) and tokens entering context. It deliberately trades raw tool-side wall clock for fewer turns, smaller payloads, and failure reports an agent can act on in one turn. If no agent is involved, plain Playwright or a recorded Reflex flow (`reflex flow run`, zero tokens) is the right tool.\n\nDesign rationale: see [docs/REFLEX-DESIGN.md](docs/REFLEX-DESIGN.md).\n\n## Install\n\nNo global install needed. Everything runs via `npx` with the always-latest package.\n\nThe first time Reflex runs it will use your installed Google Chrome if available. If Chrome is not present it automatically downloads a Chromium browser (~170MB, one-time). Once downloaded it is cached and reused.\n\nAfter installing, have your agent run the `reflex_auth` tool with `action: \"login\"` to sign in. This opens a browser window to the Reflex site, authenticates you, and saves a key locally. No manual API-key copying required. (For CI or headless environments, set `REFLEX_API_KEY=rfx_live_...` in the environment instead.)\n\n### Claude Desktop\n\nAdd Reflex to `claude_desktop_config.json` (Settings, Developer, Edit Config):\n\n```json\n{\n  \"mcpServers\": {\n    \"reflex\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"reflex-browser@latest\", \"mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop fully (quit from the menu bar, not just the window), then ask Claude to run `reflex_auth` with `action: \"login\"` to authenticate.\n\n### Claude Code\n\n```bash\nclaude mcp add reflex -- npx -y reflex-browser@latest mcp\n```\n\nThen in a new session ask Claude to run `reflex_auth` with `action: \"login\"`.\n\n### Cursor\n\nAdd to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (per-project):\n\n```json\n{\n  \"mcpServers\": {\n    \"reflex\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"reflex-browser@latest\", \"mcp\"]\n    }\n  }\n}\n```\n\nThen ask the agent to run `reflex_auth` with `action: \"login\"`.\n\nOn Windows, wrap with `cmd /c`: `\"command\": \"cmd\", \"args\": [\"/c\", \"npx\", \"-y\", \"reflex-browser@latest\", \"mcp\"]`.\n\nEverything runs on your machine: the server, the browser, your logins. Page content never leaves it. The server exposes 11 tools (`reflex_open`, `reflex_act`, `reflex_read`, `reflex_extract`, `reflex_check`, `reflex_shot`, `reflex_tab`, `reflex_flow`, `reflex_session`, `reflex_auth`, `reflex_eval`), whose definitions stay under the token budget. `reflex_eval` (and act `{eval}` steps) are on by default; set `REFLEX_MCP_EVAL=0` to disable arbitrary page JS. The CLI and MCP server are one package and one version, so they can never skew. macOS is fully supported; Windows is beta.\n\n<details>\n<summary>Install from source</summary>\n\n```bash\ngit clone <this repo> && cd reflex\nnpm install\nln -s \"$PWD/bin/reflex.js\" /usr/local/bin/reflex   # optional, for CLI use\n```\n\nPoint your MCP client at the local checkout instead of npx:\n\n```json\n{\n  \"mcpServers\": {\n    \"reflex\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/reflex/bin/reflex-browser.js\", \"mcp\"]\n    }\n  }\n}\n```\n\nA persistent daemon keeps the browser warm between calls; the first call starts it automatically.\n\n</details>\n\n## Why\n\nPlaywright MCP historically sent the model a full accessibility snapshot after every single action: 10K-16K tokens per snapshot and one LLM round trip per click. (Playwright MCP has been phasing this out since v0.0.51, December 2025: incremental snapshots by default, then file-linked snapshots; current actions return short summaries plus a snapshot file path. One round trip per action remains, and a full `browser_snapshot` look is still ~30K tokens inline.) Reflex sends a compressed semantic outline once, then only what changed, executes whole flows in one call, and checks expectations inside the batch.\n\nBenchmark (same pages, same browser; the aria snapshot is what a full Playwright MCP `browser_snapshot` look returns):\n\n| page | aria snapshot | reflex snapshot | reduction |\n|---|---|---|---|\n| Hacker News | ~10,395 tok | ~2,063 tok | 5.0x |\n| Wikipedia article | ~15,990 tok | ~4,046 tok | 4.0x |\n| GitHub repo page | ~11,971 tok | ~3,312 tok | 3.6x |\n\nAcross three real multi-step flows (same tasks, same verified end conditions), the latest Playwright MCP used as a pure MCP client took 14 calls and ~56K tokens of cumulative context; Reflex took 6 calls and ~13K tokens. Across the head-to-head's six attempted flows, Reflex completed 5 versus Playwright MCP's 3. Reproduce with `node bench/headtohead.js`.\n\nFull benchmark report with 12-site coverage, real-world flow comparisons (including failures), delta measurements, and honesty disclosures (including a dated addendum on Playwright MCP's newer file-based snapshot behavior): [bench/BENCHMARKS.md](bench/BENCHMARKS.md).\n\nFour-way head-to-head against Playwright MCP 0.0.76, Playwright CLI, and Vercel's agent-browser (same flows, no LLM, failures verbatim): [bench/HEADTOHEAD.md](bench/HEADTOHEAD.md). Short version: Reflex has the cheapest page \"look\" everywhere tested (26x on giant pages), fewest turns with verification included, and the best failure reports; Playwright CLI has the lowest token floor on pre-planned flows; agent-browser has the fastest raw execution.\n\n## Usage\n\n```bash\nreflex open https://app.example.com        # distilled snapshot with [refs]\nreflex act '[{\"fill\":[\"Email\",\"a@b.co\"]},{\"fill\":[\"Password\",\"secret\"]},\n             {\"click\":\"Sign in\"},{\"expect\":{\"visible\":\"Dashboard\"}}]'\nreflex read                                 # delta since last look, or \"(page unchanged)\"\nreflex check                                # visual audit: overlap, contrast, clipped text, broken images\nreflex extract a3f2                         # full table/list data (big output goes to a file)\nreflex shot --region a3f2                   # screenshot crop to file\n```\n\nTargets are either refs from snapshots (`a3f2`) or semantic names (`\"Sign in\"`, a label, a placeholder, an id). Resolution prefers exact accessible-name matches, falls back to prefix and substring, and reports candidates when ambiguous.\n\n`reflex help` prints the full command reference (kept short on purpose: it fits in an agent's context for pennies).\n\n### Batched actions with guards\n\n`reflex act` runs many steps in one call and stops at the first failure with a forensic report: failed step, reason, near-miss candidates, recent console errors and failed requests, a screenshot path, and the page changes that happened before the failure. One report is enough to repair the flow in a single agent turn.\n\nStep types: `goto, click, dblclick, fill, type, press, select, check, uncheck, hover, focus, scroll, wait, expect, upload, shot, eval`.\n\n`expect` assertions: `{\"visible\": t}`, `{\"hidden\": t}`, `{\"text\": s}` (case-sensitive), `{\"url_contains\": s}`, `{\"value\": v, \"target\": t}`, `{\"download\": \"*.pdf\"}`. Files the page downloads are saved to ~/.reflex/artifacts/ and the path is returned.\n\n### Collection: `mode:'crawl'` and `mode:'media'`\n\n`reflex extract` has two collection modes that gather many things in one call (one call = one credit regardless of volume):\n\n```bash\nreflex extract '{\"mode\":\"crawl\",\"maxDepth\":2,\"maxWidth\":20,\"maxPages\":50}'\nreflex extract '{\"mode\":\"media\",\"save\":true}'\n```\n\n- **`mode:'crawl'`** runs a bounded BFS over same-registrable-domain anchors from the current page and returns a deduped live-URL manifest. `(file)` download anchors and `(auth)` gatekeeper anchors are skipped (opt into auth with `includeAuth:true`); cross-domain links are flagged in the manifest but never visited. Knobs `maxDepth` / `maxWidth` / `maxPages` (defaults `2` / `20` / `50`) bound depth, per-page fan-out, and total pages fetched. The user's open tab is never navigated — each frontier page is fetched on the existing browser context (session cookies apply), HEAD-probed for liveness, then DOM-fetched for links.\n\n- **`mode:'media'`** enumerates every page media source (`<img src/srcset>`, `<picture><source>`, `<video src>` + poster, `<source>` in video/audio, `<a href>` to media, CSS `background-image: url()`), then verifies each through a 5-gate pipeline: (1) **provenance** — the URL appears in the page's live network log (DOM-asserted *and* wire-observed); (2) **accessibility** — a HEAD probe succeeds; (3) **MIME consistency** — the Content-Type is a real media type; (4) **site-level SHA-256 dedup** — verified bytes are hashed so the same logo re-collected later is saved once; (5) **hallucination exclusion** — items neither observed nor downloadable are dropped. Each entry is labeled `provenance: dom|network|both`. With `save:true`, verified files download to `~/.reflex/artifacts/` under the 7-day prune.\n\nMedia provenance comes from the page's live network log — reflex does not re-render the page in a separate headless browser to verify media, unlike the BaRA approach the design draws from. The daemon never decides what to do with a manifest; there is no internal LLM. The agent reads it and chooses targets in `act`.\n\n### Flows: replay without an agent\n\n```bash\nreflex flow save login --params email      # records this session's steps\n# edit ~/.reflex/flows/login.json: replace recorded values with {{email}}\nreflex flow run login --param email=qa@acme.co\n```\n\nReplay is deterministic (no LLM): semantic targets re-resolve against the live page, with the recorded CSS path as a self-healing fallback. Flows compose: a step `{\"run\": \"login\"}` is planned for a future version.\n\n### Auth state\n\n```bash\nreflex state save myapp                    # cookies + localStorage\nreflex open https://myapp.com --state myapp\n```\n\n### Profile mode (stay signed in)\n\nReflex runs a **persistent browser profile by default**, so a site you sign into once in the Reflex window stays signed in across every later run (the persistent profile also defeats Google's \"this browser may not be secure\" automation block, so \"Continue with Google\" works). The profile is per-session, so parallel agents never share one.\n\n```bash\nreflex profile status          # is it on, and where is it stored\nreflex profile list            # Chrome profiles you can seed from\nreflex profile use \"Work\"      # pick the source Chrome profile\nreflex profile reset           # wipe saved logins; re-seeds on next open\nREFLEX_PROFILE=off reflex ...  # opt out: a clean throwaway browser each run\n```\n\nOn first run it seeds from your real Chrome profile. **macOS:** cookies and passwords are *not* copied (they are Keychain-encrypted and an automation-launched Chrome cannot decrypt a copy), so only bookmarks are seeded; sign into each site once and it persists. **Windows/Linux:** the full login set carries over (the encryption key travels in `Local State`). Requires Google Chrome installed; without it, Reflex falls back to a clean browser.\n\n### Tabs, dialogs, secrets, parallel sessions\n\n- Popups and `target=_blank` links are followed automatically; responses note `[switched to new tab]`. Manage with `reflex tabs`, `reflex tab <n>`, `reflex tab <n> --close`.\n- JS dialogs (`alert`/`confirm`/`prompt`) are auto-dismissed and reported in the console feed, so they can never deadlock a session.\n- Secrets: write `{{env:VAR}}` in any value; the CLI substitutes it from the environment, so credentials stay out of step JSON and agent context.\n- Parallel agents: pass `session: \"name\"` on any MCP tool call (or `REFLEX_SESSION=<name> reflex ...` from the CLI) and that call runs in a fully isolated daemon and browser. Sessions spawn on demand, cost nothing extra (credits are per tool call, never per session), idle ones exit on their own, and `reflex_session` lists or stops them. Two agents, ten agents: no shared profile, no tab fights, no snapshot crosstalk.\n- Concurrent clients on one shared session are safe too: browser ops are serialized, and each client keeps its own delta baseline, so one agent's actions never make another's read claim \"(page unchanged)\" about a page it has not seen.\n- The daemon authenticates its clients via a per-instance token in `~/.reflex/daemon.json` (mode 0600).\n\n## How it works\n\n```\nagent ──(CLI / MCP)──> bin/reflex.js ──(local HTTP)──> src/daemon.js ──(CDP)──> your Chrome\n                                                            │\n                                                  src/pagefns.js (injected:\n                                                  distill, resolve, check, extract)\n```\n\n1. `open` returns a distilled snapshot: noise stripped, wrappers collapsed, repetition folded, stable content-hash refs.\n2. `act` runs a whole batch of steps in one call, with `expect` guards checked inside the batch; event-driven settle detection between steps.\n3. Subsequent reads return only the delta since the last look.\n4. Failures return a forensic bundle (failed step, candidates, console/network errors, screenshot, pre-failure delta) sized for a one-turn repair.\n5. `flow save` / `flow run` replay recorded tasks deterministically with zero model tokens and self-healing target resolution.\n\n## Direction\n\nReflex is a packaged local MCP server with credit-based access. A fresh install needs no account at all: it meters itself against an anonymous trial (25 calls) so the first real task happens before any signup, and the user creates a free account (30 more credits) only when the trial runs out. Everything runs on the user's machine (their agent, their browser, their logins; page content never leaves it); the server handles only key validation, credit balance, and payments. Each tool call costs one credit, which rewards Reflex's batched design: a whole flow is 2 calls where Playwright MCP needs 5-6 (measured across the same three flows: 6 calls and ~13K tokens vs 14 calls and ~56K), so a task costs cents while saving the user most of their model-context budget. Launch pricing: 25 anonymous trial calls, then 30 free credits on signup (14-day expiry), then packs at $9/150, $19/500, $49/1,800; paid credits never expire. A cloud library of maintained replayable flows is a possible later layer.\n\nImplementation plans for the MCP server, credits backend, website, and launch live in [`docs/plan/`](docs/plan/) ([index](docs/plan/00-OVERVIEW.md)).\n\n## How it stays small\n\n- **Distillation**: scripts, styling wrappers, and hidden nodes are stripped; a button nested 14 divs deep is just a button. Repeated structures fold: a 200-row table is one line with an `extract` handle, a 30-item list shows 3 items and a count.\n- **Deltas**: after the first read, responses show only added/removed/changed lines. An unchanged page costs 91 characters.\n- **Stable refs**: element ids are content hashes (role + name + ordinal), so they survive re-renders and let you act across turns without re-reading.\n- **Artifacts to disk**: screenshots and large extracts return file paths, never inline payloads.\n- **Always-on telemetry**: console errors and failed requests are attached to responses once, the first time they appear.\n\n## Layout\n\nFour zones — product at the root, cloud apps alongside, evidence and docs grouped:\n\n```\nPRODUCT (npm package, ships via dist/)\n  bin/                 CLI client + reflex-browser dispatcher (mcp subcommand)\n  src/                 daemon, pagefns, MCP server, credits client, client transport\n  test/                smoke, engine, mcp suites + hostile fixtures\n  mcpb/                Claude Desktop one-click bundle\n  scripts/             dist build (esbuild)\n\nCLOUD (separate package.json each; own deploy)\n  server/              credits API (Cloudflare Workers + D1)\n  web/                 marketing site, docs, dashboard (Next.js + Clerk)\n\nEVIDENCE\n  bench/               head-to-head vs Playwright MCP / CLI / agent-browser (npm run bench)\n\nDOCS\n  docs/REFLEX-DESIGN.md       engine design rationale\n  docs/design/impeccable.md   website brand + UX principles\n  docs/plan/                  product roadmap (00-OVERVIEW is the index)\n```\n\n`npm test` runs all three suites. State lives in `~/.reflex/` (`daemon.json`, `flows/`, `states/`, `artifacts/`, `daemon.log`).\n\n## Security\n\nReflex is built for agents driving a logged-in browser on your machine:\n\n- **Local-only browsing.** The browser and MCP server run on your machine; page content, credentials, and sessions never leave it. The credits server sees only key validation, balance, and usage counts.\n- **Cross-origin fetch blocked** by default (agent-directed exfiltration is rejected unless you explicitly allow a host).\n- **Secrets redacted** in tool responses, forensics, and saved flows (`{{env:VAR}}` substitution).\n- **Injection-aware snapshots.** Page-derived text that matches narrow agent-directed instruction patterns gets one advisory line; content is never stripped or rewritten.\n- **Encrypted auth states (macOS).** `reflex state save` writes cookies/localStorage encrypted with a Keychain-held key (mode 0600). Other platforms store plaintext with mode 0600 until Windows/Linux encryption ships.\n\n## Limits\n\n- DOM-first: canvas/WebGL apps need the screenshot escape hatch (`reflex shot`).\n- Open shadow DOM is traversed (web components are visible and actionable); closed shadow roots are unreachable from page JS and cannot be seen.\n- iframes appear as markers (`§ iframe \"checkout\"`) but their content is not traversed yet.\n- Visual tier 0 only: no baseline pixel-diff yet (planned, see design doc section 6).\n- Flow parameterization is manual (edit the JSON); recording marks values verbatim. Use `flow save --last N` to record just the clean tail of a session.\n","readmeFilename":"README.md"}