{"_id":"@mcp-b/smart-dom-reader","_rev":"60-c9a5626bcea7c468a52f6b3b21fe047b","name":"@mcp-b/smart-dom-reader","dist-tags":{"canary":"1.1.1-canary.20260214192802","beta":"6.0.0-beta.20261001010549","latest":"6.2.0"},"versions":{"1.0.1":{"name":"@mcp-b/smart-dom-reader","version":"1.0.1","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.0.1","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://github.com/MiguelsPizza/WebMCP#readme","bugs":{"url":"https://github.com/MiguelsPizza/WebMCP/issues"},"dist":{"shasum":"6671f3e7c6c90932366e6ea025773ad54bc433ab","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.0.1.tgz","fileCount":9,"integrity":"sha512-OrHku5Br9xbwObE8BHTd3QlXm3HWyPdQQWGsdxJgayXcWdJCKguSIgc7ILYXztas4Jyk7uiLGLYPnUU9KHWbQQ==","signatures":[{"sig":"MEQCIB8KprSuqnkGRxKulVLbe5Vm6joTmbu8SauhgZ2eFlalAiAPhqKRYJq/z/n//nLFHFq478PZKmwL+1VY+YDIAY8QUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437670},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsup","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/26307f3f876305bc1324b48f05fc56cd/mcp-b-smart-dom-reader-1.0.1.tgz","_integrity":"sha512-OrHku5Br9xbwObE8BHTd3QlXm3HWyPdQQWGsdxJgayXcWdJCKguSIgc7ILYXztas4Jyk7uiLGLYPnUU9KHWbQQ==","repository":{"url":"git+https://github.com/MiguelsPizza/WebMCP.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction library for AI-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^7.1.2","typescript":"^5.8.3","@types/node":"^22.15.21","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.0.1_1758494737951_0.7482808249329695","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@mcp-b/smart-dom-reader","version":"1.0.2","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.0.2","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://github.com/MiguelsPizza/WebMCP#readme","bugs":{"url":"https://github.com/MiguelsPizza/WebMCP/issues"},"dist":{"shasum":"0d78097481a5526b488b3d364836cec2d8c67004","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.0.2.tgz","fileCount":11,"integrity":"sha512-mXTn1SSvHWUcyWSYTS1bowLM7idDCbePpsWbfqCxytnFmfEsgS5Z44K4egiwqRRTA/gLLqDAKXjYcxvXSbo0/A==","signatures":[{"sig":"MEUCIQD8WcOKgOKTGn/fw6lOH851T6aYo5Cw2sdaq9nM4HdZ8AIgVjGttrZ6PdY1powN6A7Q+iJBgyMHcU2XODZ+INnsY0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440841},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/41a0dd5933b13e9bdff3c2dc0e4d581f/mcp-b-smart-dom-reader-1.0.2.tgz","_integrity":"sha512-mXTn1SSvHWUcyWSYTS1bowLM7idDCbePpsWbfqCxytnFmfEsgS5Z44K4egiwqRRTA/gLLqDAKXjYcxvXSbo0/A==","repository":{"url":"git+https://github.com/MiguelsPizza/WebMCP.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction library for AI-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.0.2_1762279333569_0.24985183293394142","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-beta.0":{"name":"@mcp-b/smart-dom-reader","version":"1.0.3-beta.0","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.0.3-beta.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://github.com/MiguelsPizza/WebMCP#readme","bugs":{"url":"https://github.com/MiguelsPizza/WebMCP/issues"},"dist":{"shasum":"5c82e2eb4e5f26b338055abb2c930721f7b6720c","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.0.3-beta.0.tgz","fileCount":11,"integrity":"sha512-RCFRCCbQz2g2dz6dhEOofDQuOV6gGK3gn32Vyj8rThT/ovjoH2Ya4NTe9O85dJCbw85VJZtsFRGB+YlMW/GXVw==","signatures":[{"sig":"MEUCIQCxgmfMGCoEPtU0//zXIoXqchfIBuCVV8ktiovd1dGryAIgCVOe8NXNTs7+rGFkSBDvlThoT2whegPXELmUeAo7EM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440847},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.0.3-beta.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/5921bd111d2d64d03f0d5238c2826249/mcp-b-smart-dom-reader-1.0.3-beta.0.tgz","_integrity":"sha512-RCFRCCbQz2g2dz6dhEOofDQuOV6gGK3gn32Vyj8rThT/ovjoH2Ya4NTe9O85dJCbw85VJZtsFRGB+YlMW/GXVw==","repository":{"url":"git+https://github.com/MiguelsPizza/WebMCP.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction library for AI-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.0.3-beta.0_1764737885496_0.1249059333045297","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-beta.1":{"name":"@mcp-b/smart-dom-reader","version":"1.0.3-beta.1","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.0.3-beta.1","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://github.com/MiguelsPizza/WebMCP#readme","bugs":{"url":"https://github.com/MiguelsPizza/WebMCP/issues"},"dist":{"shasum":"6c346f1a5112e650daa6c25a031ff493a8711548","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.0.3-beta.1.tgz","fileCount":11,"integrity":"sha512-ex98B0KDzkPLZ2T7ag244YpmRo+XmGIdGaEHr/CARPnByvPLhtU+2MJ5Kn8sTTgvRejzfA3cg1VlxcqFaOw5yw==","signatures":[{"sig":"MEYCIQC4LH4IE0QTnt3RO9Jh5wt4hy4J3zVLEz4DcO0bHLRH1gIhAK10MefWw+wsxu0JtlnQhC5gqSy03rLEsaFfs8RUJARS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440847},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.0.3-beta.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/80f855c5a629e728f8ac209c89ed7232/mcp-b-smart-dom-reader-1.0.3-beta.1.tgz","_integrity":"sha512-ex98B0KDzkPLZ2T7ag244YpmRo+XmGIdGaEHr/CARPnByvPLhtU+2MJ5Kn8sTTgvRejzfA3cg1VlxcqFaOw5yw==","repository":{"url":"git+https://github.com/MiguelsPizza/WebMCP.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction library for AI-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.0.3-beta.1_1764890520920_0.675788760960176","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-beta.2":{"name":"@mcp-b/smart-dom-reader","version":"1.0.3-beta.2","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.0.3-beta.2","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"ee0e189d51a0f5aa4fdeae49a7c29e4198892da3","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.0.3-beta.2.tgz","fileCount":11,"integrity":"sha512-9ch3TQuHqYO4YlL3H2npBreWMTkwkLCW/uJimj/HgaulB8WF4wxKxjW0JnMPNqUx/IlKaTWUmyOqQzMh5OvF0g==","signatures":[{"sig":"MEYCIQDFCUvk7e1VaE3SedOT3z0Rh0ZaawnvBmP2L9nbcgBnIAIhAI2sunRoFjuc/VbMIThRaDPjejW+bFU1sBqcPzVOwTLk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445947},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.0.3-beta.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/cf4baa6ceaf578956b953a478669c3df/mcp-b-smart-dom-reader-1.0.3-beta.2.tgz","_integrity":"sha512-9ch3TQuHqYO4YlL3H2npBreWMTkwkLCW/uJimj/HgaulB8WF4wxKxjW0JnMPNqUx/IlKaTWUmyOqQzMh5OvF0g==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.0.3-beta.2_1764990680284_0.02585218294377567","host":"s3://npm-registry-packages-npm-production"}},"1.0.3-beta.3":{"name":"@mcp-b/smart-dom-reader","version":"1.0.3-beta.3","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.0.3-beta.3","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"d087c511413803673bc86cb9ff3725a6d40aae5b","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.0.3-beta.3.tgz","fileCount":11,"integrity":"sha512-H2tPirBCi3iIvDgEpTNI5VGSKtlcEnwNXxnao4SM+FeE6evBADLTMBaDKPnhgl0OkA/zcBgGS7grh+stZd9CmQ==","signatures":[{"sig":"MEQCIFwWkO5XCTtXTONrsxWn/y0fKKbq1grIEyRZ26sP8b65AiAFnaSu+YdXpjWpqM+6fA4Swdi44TDaSBKKvyhCDRMeUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445946},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.0.3-beta.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/e0b3c9b530e2adb05323d2cf41447170/mcp-b-smart-dom-reader-1.0.3-beta.3.tgz","_integrity":"sha512-H2tPirBCi3iIvDgEpTNI5VGSKtlcEnwNXxnao4SM+FeE6evBADLTMBaDKPnhgl0OkA/zcBgGS7grh+stZd9CmQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.0.3-beta.3_1765068642812_0.13876057069963976","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@mcp-b/smart-dom-reader","version":"1.1.0","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"2e2966a66ef748ce9991361040ed88768b418ac2","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.0.tgz","fileCount":11,"integrity":"sha512-PKSbTqVXMVuCVPlRuEXv3QJQ3RPvKS25434eANjse+QkD1PAiJBdRdj51JqWHUnIKyJkOw8QDXaOnBtQjegQXQ==","signatures":[{"sig":"MEUCIQD7iz8v9vzAc6L6E79U+3fBJwqnjEPsRUg/k5R1jGfYyQIgNEQ5rSooXGODwI9iEsubp/CeD2IZmMg7KuxDNFQrNac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445940},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/ac41db2d1462ab0d49b9f2d19524945f/mcp-b-smart-dom-reader-1.1.0.tgz","_integrity":"sha512-PKSbTqVXMVuCVPlRuEXv3QJQ3RPvKS25434eANjse+QkD1PAiJBdRdj51JqWHUnIKyJkOw8QDXaOnBtQjegQXQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.0_1765069228892_0.3876291470773596","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.20260125195014":{"name":"@mcp-b/smart-dom-reader","version":"1.1.0-beta.20260125195014","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.0-beta.20260125195014","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"1e2c5b3ae7c8434905b2cd88ef9ed97309a6ea91","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.0-beta.20260125195014.tgz","fileCount":11,"integrity":"sha512-HWUbTd6lU8xKXgZ0shlxmvhNYf44E4zHO+z7ltq/H1xNroQIIWDig6rmisVj3ffrbQ3bHeT8nQmXp9RF+TRDHw==","signatures":[{"sig":"MEUCIQCjTbZx2P+678PTlfQX8yePwIobrEJlks0FvefQC0B6agIgQjtLv5LU9iE6XXVVzrmbb3qqbA3+w5j4A8BTx+O3ADw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@1.1.0-beta.20260125195014","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445969},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.0-beta.20260125195014.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/tmp/84bcf33e13a18c28df7844a4a4ba73ce/mcp-b-smart-dom-reader-1.1.0-beta.20260125195014.tgz","_integrity":"sha512-HWUbTd6lU8xKXgZ0shlxmvhNYf44E4zHO+z7ltq/H1xNroQIIWDig6rmisVj3ffrbQ3bHeT8nQmXp9RF+TRDHw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.0-beta.20260125195014_1769370636871_0.8599843725941285","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.20260125195244":{"name":"@mcp-b/smart-dom-reader","version":"1.1.0-beta.20260125195244","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.0-beta.20260125195244","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"6d10d516bd76a152cb380400543a7760f6404507","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.0-beta.20260125195244.tgz","fileCount":11,"integrity":"sha512-2TRpDPuURBrKqlHR+Mhl8AJDpgnK+taWDcm21An9tRdmeuXkfwWyZLneM+CFdkXO+03hufEp6gStBMjS6+pDmg==","signatures":[{"sig":"MEUCIBro61aqeL+mlCQNo1zO72lDSXKLDFrU74yuwy74B9WhAiEA1CtPqzhi7azj01m8KoUSA3iGK59VzCfW/nEOAQQ0dJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@1.1.0-beta.20260125195244","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445969},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.0-beta.20260125195244.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/tmp/136da599705f672f70da47c5a04eb33b/mcp-b-smart-dom-reader-1.1.0-beta.20260125195244.tgz","_integrity":"sha512-2TRpDPuURBrKqlHR+Mhl8AJDpgnK+taWDcm21An9tRdmeuXkfwWyZLneM+CFdkXO+03hufEp6gStBMjS6+pDmg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.0-beta.20260125195244_1769370787544_0.48525390619322617","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-beta.20260125195516":{"name":"@mcp-b/smart-dom-reader","version":"1.1.0-beta.20260125195516","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.0-beta.20260125195516","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"b75646e8f338c3272bacfe4b1856b79db2dd3205","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.0-beta.20260125195516.tgz","fileCount":11,"integrity":"sha512-kuEJgTsdFIuCJleflxJA5N8/zcgIarJFGhMRH/aWEZqLa25yHHySFbkJipXyTZReZeacWUQt9MPay+3jXXY1sw==","signatures":[{"sig":"MEUCIQDtbwXahLWfXWBdZKs/F6Ogp1VVt+PBgygm9kQAfA9zGwIgO6wWzfwyPubk1o2mRq1yvIfJEhGHHOGarsu+jfNpoyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@1.1.0-beta.20260125195516","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445969},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.0-beta.20260125195516.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/tmp/3523258e5c1dc9a6c4d9bdbae70f1208/mcp-b-smart-dom-reader-1.1.0-beta.20260125195516.tgz","_integrity":"sha512-kuEJgTsdFIuCJleflxJA5N8/zcgIarJFGhMRH/aWEZqLa25yHHySFbkJipXyTZReZeacWUQt9MPay+3jXXY1sw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.0-beta.20260125195516_1769370939113_0.4211901624958707","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-canary.20260125211849":{"name":"@mcp-b/smart-dom-reader","version":"1.1.0-canary.20260125211849","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.0-canary.20260125211849","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"d63b1321636c7a46d54791f01570ed5121643c8e","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.0-canary.20260125211849.tgz","fileCount":11,"integrity":"sha512-xjcjdB3F1JRIa1k88CPUb2+4pNQkPbL5Y+zeZTbR2DfzWFIbJgDc0xVtFym5wXThgGjzw3s4ABO9kQMtVvtoMQ==","signatures":[{"sig":"MEYCIQCJS7hrfAopGRYjbD/lii4RSoGfamEx3u+tM0Zwj5XLvAIhAM/ORM1VkigOrnBHXbriAR6+agBAW2epYKUpGonYsL2g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@1.1.0-canary.20260125211849","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445971},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.0-canary.20260125211849.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/tmp/3b1d177b55166da03809af47181a515a/mcp-b-smart-dom-reader-1.1.0-canary.20260125211849.tgz","_integrity":"sha512-xjcjdB3F1JRIa1k88CPUb2+4pNQkPbL5Y+zeZTbR2DfzWFIbJgDc0xVtFym5wXThgGjzw3s4ABO9kQMtVvtoMQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.0-canary.20260125211849_1769375954230_0.6063468577516293","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@mcp-b/smart-dom-reader","version":"1.1.1","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.1","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"33817d67db2cc7b5c1574cda43a77fcef32173cc","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.1.tgz","fileCount":11,"integrity":"sha512-z5pcskASCmqDsziD0axfQ1IdckEnczfo4SHlDvVXDOrGP0wXURUqtYlnHrgMiLdTDAScUY0Cdv5s7ttydHuwmA==","signatures":[{"sig":"MEQCIGcldXuSjRSBq+1c/VL28hzzYEuZDsOhqFC7cApdNfzCAiADh4/W1CZuEe+Wd0Yxt0oe/9qEXcZ2vmdjszKatL+2pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445949},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/f513a705182b3b8461444544928d1c28/mcp-b-smart-dom-reader-1.1.1.tgz","_integrity":"sha512-z5pcskASCmqDsziD0axfQ1IdckEnczfo4SHlDvVXDOrGP0wXURUqtYlnHrgMiLdTDAScUY0Cdv5s7ttydHuwmA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.1_1769400848109_0.9852945962460096","host":"s3://npm-registry-packages-npm-production"}},"1.1.1-canary.20260214192802":{"name":"@mcp-b/smart-dom-reader","version":"1.1.1-canary.20260214192802","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.1-canary.20260214192802","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"c030cf684cb9fa90aeaee73d741184216429e17c","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.1-canary.20260214192802.tgz","fileCount":11,"integrity":"sha512-bT/ZVnuvVj1146qjy/70i9L2ZKBgeVEuaqTzOJ0Fu6cSLFajnN11vWALJVRX4B/7gwmWmzwyUEVhs0Et5ZdOQQ==","signatures":[{"sig":"MEQCIC0XRlfYzjHpjsIb0cBQX5L01xtrr5lyF7sTtBrDsS94AiBcHqO2TFPky8G4Ye74ThbL1Ig6HvYiLL9eQzbYTdsM+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445961},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.1-canary.20260214192802.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/044b576f902bb648fa6a8c37a070e4c4/mcp-b-smart-dom-reader-1.1.1-canary.20260214192802.tgz","_integrity":"sha512-bT/ZVnuvVj1146qjy/70i9L2ZKBgeVEuaqTzOJ0Fu6cSLFajnN11vWALJVRX4B/7gwmWmzwyUEVhs0Et5ZdOQQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.15.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.1-canary.20260214192802_1771118900519_0.24291484455749912","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-beta-20260221154800":{"name":"@mcp-b/smart-dom-reader","version":"0.0.0-beta-20260221154800","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@0.0.0-beta-20260221154800","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"5ef1b74fd223bea9133d0f2d7f602a648bcd9f08","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-0.0.0-beta-20260221154800.tgz","fileCount":11,"integrity":"sha512-dwW3TFehGbORRQnk1xY0sVM79ivEOrtFntl8kt194YMcStxY/8I+WOGsGLAPLGEWMEhZjiNAsFxv7jSyFJww5Q==","signatures":[{"sig":"MEUCIByObkcfvsa4mrWOrfUEuFiEPTvx5Xgq3Rlmy8k/kCQMAiEA8qWTvi1a8fB4JK2VAaXzaVQaIMrcUC8aZhWbIUNYkZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445959},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-0.0.0-beta-20260221154800.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/0792a4710783ff7b5449824540e4a407/mcp-b-smart-dom-reader-0.0.0-beta-20260221154800.tgz","_integrity":"sha512-dwW3TFehGbORRQnk1xY0sVM79ivEOrtFntl8kt194YMcStxY/8I+WOGsGLAPLGEWMEhZjiNAsFxv7jSyFJww5Q==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_0.0.0-beta-20260221154800_1771717728176_0.6274152730238549","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@mcp-b/smart-dom-reader","version":"1.1.2","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.2","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"9be47f8a713d8de5d4ef7cea1741992b49cf4924","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.2.tgz","fileCount":11,"integrity":"sha512-jRw9IEKYItnJekR1lKsNZbIF70pKx0q3nLVb2CwHh2erW2dssZLZSxpUx8/oa2uwcbtDyUg/vvq3o1IzHlaw6g==","signatures":[{"sig":"MEUCIQCxSH9YUoPH+DR6sSYqFLIldLTRtCo08FazK4tSi207GgIgLJbS5ySm2AwQ18q6v3n8vTK50xNa7OiSbfxkc9C1kO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445939},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/328beccbabe1ff5e9a012987f471b36a/mcp-b-smart-dom-reader-1.1.2.tgz","_integrity":"sha512-jRw9IEKYItnJekR1lKsNZbIF70pKx0q3nLVb2CwHh2erW2dssZLZSxpUx8/oa2uwcbtDyUg/vvq3o1IzHlaw6g==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.2_1771806395727_0.7909341830317838","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@mcp-b/smart-dom-reader","version":"1.1.3","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.3","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"d9f201c7016072d2fbd9cc8fb5b80ebea82e9f3e","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.3.tgz","fileCount":11,"integrity":"sha512-ldP25tTyGXTQIQO1GoJDBsEdMqPQ2sh7uLws5GXRmZHNEk/fkyPWSo9hdj541V7sU5bY1ucTl+FKbsiJ2MSczA==","signatures":[{"sig":"MEUCIAmiKO+Ad565x6eMxL9ax7Jbj79MW5ZOY5gArL5GtVvGAiEA1PSMTnXGR+qIxDL8/cU6Te4FI965UhcrT7rg1yRlICs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445939},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/fb09036e2ebcbe393719a5eb272e5cce/mcp-b-smart-dom-reader-1.1.3.tgz","_integrity":"sha512-ldP25tTyGXTQIQO1GoJDBsEdMqPQ2sh7uLws5GXRmZHNEk/fkyPWSo9hdj541V7sU5bY1ucTl+FKbsiJ2MSczA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.3_1772141758950_0.8368355802846483","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@mcp-b/smart-dom-reader","version":"1.1.4","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@1.1.4","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"8c267a207965375218cab97f17ff060ac38a1252","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-1.1.4.tgz","fileCount":11,"integrity":"sha512-n4sZkl7WaKrfObJdPMWeQlRcD64JD+7W/FtQBTzIbSkfnIOltJ3lPKpJ/wbDtjtsqqnBCtGFNDl8A5aaEa8UIw==","signatures":[{"sig":"MEUCIQC2E6+js+oi2/m++n7aLyeH0ZhhmgxIdoTnfT+bQksg9wIgbS84Mra919lryYMda5q5AlKdcL0YvFfGa9tmaBpV9TM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445939},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-1.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/7358ecdc7d30eb39e2732ffde4d2ee7a/mcp-b-smart-dom-reader-1.1.4.tgz","_integrity":"sha512-n4sZkl7WaKrfObJdPMWeQlRcD64JD+7W/FtQBTzIbSkfnIOltJ3lPKpJ/wbDtjtsqqnBCtGFNDl8A5aaEa8UIw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_1.1.4_1772150313327_0.27171483908158134","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@mcp-b/smart-dom-reader","version":"2.0.5","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.5","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"df94f441d0454b8b5de567ad662460ea7aaa67e0","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.5.tgz","fileCount":11,"integrity":"sha512-PCpvyfDzN69XYMnILk3S0oOTeCKds3sFI6Ci+C3zWjSBswFH0qsKM+rxPu3dijir516PBDpPrVRurapxHhhMqw==","signatures":[{"sig":"MEQCIFT78U07qECWW3UYUat/azXzemaBT5IkqbiSzUPcz1+SAiBf8+3wxcjMJYSjUpCUVxSA8i3d3IDJSUDDDGWIdsMpjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445940},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/7c5c593f7ccfc663681f97df8eb9315d/mcp-b-smart-dom-reader-2.0.5.tgz","_integrity":"sha512-PCpvyfDzN69XYMnILk3S0oOTeCKds3sFI6Ci+C3zWjSBswFH0qsKM+rxPu3dijir516PBDpPrVRurapxHhhMqw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.5_1772151662346_0.7577000205364479","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@mcp-b/smart-dom-reader","version":"2.0.6","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.6","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"a8cfdc6d3d8a090e6f3bd44727285c68b171b466","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.6.tgz","fileCount":11,"integrity":"sha512-HuJLTx2422LuEpBUeuIoDsYxxKJgRYP95Gynz0Y/JiOMzzySU0TKNZKKTHVzeS9AHfxE5aVQX4Rugohx5P4nfw==","signatures":[{"sig":"MEQCIDzSr04BNaSAPoO3I43twMDg9/MhnP0c+wYaJNsOuoUwAiBnO01e/nG0OaKEiQHzYU20begXWW7fNI8Ptl6jgtrBFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445940},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/aa29f28a22790aa7165afd1f600522e6/mcp-b-smart-dom-reader-2.0.6.tgz","_integrity":"sha512-HuJLTx2422LuEpBUeuIoDsYxxKJgRYP95Gynz0Y/JiOMzzySU0TKNZKKTHVzeS9AHfxE5aVQX4Rugohx5P4nfw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.6_1772260244716_0.2046040332439536","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@mcp-b/smart-dom-reader","version":"2.0.7","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.7","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"5b7e67b498a63230f621c7e33382a72401f34a77","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.7.tgz","fileCount":11,"integrity":"sha512-lFFknqpf7Jr9hEO1dQfg1a+69dTHbSWjfHG0umV7VDIjWKDEFf00C2Uik+xJJ4y1NPHX+0HeH/iW7CwNpF8qTA==","signatures":[{"sig":"MEYCIQDezq6eeZCD/52NtHri+5AvuNxb9l3LjE1B51zAO7S2ZgIhAKNn7ORsal5to5LMIfA+9HQq8QuiLIaA4TbLhugZXGRR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445940},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/f15dd0ba96d30c9e02ce620c2b5f864e/mcp-b-smart-dom-reader-2.0.7.tgz","_integrity":"sha512-lFFknqpf7Jr9hEO1dQfg1a+69dTHbSWjfHG0umV7VDIjWKDEFf00C2Uik+xJJ4y1NPHX+0HeH/iW7CwNpF8qTA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.7_1772306640580_0.7158694403274453","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@mcp-b/smart-dom-reader","version":"2.0.8","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.8","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"d7ef04c0c3e2b2953d6727e40c265930dc4d5cfe","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.8.tgz","fileCount":11,"integrity":"sha512-Gt5bBlJhClBwRPPpCPGK6bvui6oOF9j0SXIxC4IxHgsBQNqHoNizj5EI2cewU0Nt+1NtTy1E2V3fPl2rRievfA==","signatures":[{"sig":"MEYCIQDFBkmiwy7CZY8VSYvb3RJ6eFdjfnzJhmX2HnNLP5/D9wIhAMTO13hkq02vQpZh2DDtpuClhcsK9OEqTLqRPoZI7OMx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445939},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/069c90100ab42377df82b61a0dec09df/mcp-b-smart-dom-reader-2.0.8.tgz","_integrity":"sha512-Gt5bBlJhClBwRPPpCPGK6bvui6oOF9j0SXIxC4IxHgsBQNqHoNizj5EI2cewU0Nt+1NtTy1E2V3fPl2rRievfA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.8_1772318662755_0.20219496820446814","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@mcp-b/smart-dom-reader","version":"2.0.9","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.9","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"84de904226257c3d947dbaa5489185a2e7c99891","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.9.tgz","fileCount":11,"integrity":"sha512-DTRtMsNgwrq3Y4jHR2kJCWOk6ErE6q0ahVOtljRxxo4HuWGV1G/zi1/LLQUi8jyxuYNtce6jnp1GQU61wHTM7g==","signatures":[{"sig":"MEUCIQDXm5XVz7efsN+kT3RghrY7l7oIdGnSHqCzdGYEN8Y0jgIgWlX2pG0fpNPdvz/DArRHNwz0mT/AuyQwKUccLwfOY+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445939},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/65e332c0380cdbba688e595df558f45b/mcp-b-smart-dom-reader-2.0.9.tgz","_integrity":"sha512-DTRtMsNgwrq3Y4jHR2kJCWOk6ErE6q0ahVOtljRxxo4HuWGV1G/zi1/LLQUi8jyxuYNtce6jnp1GQU61wHTM7g==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.9_1772405073814_0.40293470972872303","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"@mcp-b/smart-dom-reader","version":"2.0.10","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.10","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"bdc0450b8019932e1742c6d3a96db860dbf19579","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.10.tgz","fileCount":11,"integrity":"sha512-SPclKdBkDqB1OcTj/MukeKwwEb6VxyidskESe1p981AcnMOg499L0afm9+rmo6tC4MPvPdBpypktTe5GR2HXgA==","signatures":[{"sig":"MEQCIGUQU9ezp5HYwc6bKlgUBh43CeQGlH1p+8FCOLtd2oW+AiBFOJ4ZAuFHQuMZ3FTUnXGmJs51KoFCkdv7FPh+eQ0OcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445940},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/cb75f67fe6ef6abaf6d3720dd9155fe8/mcp-b-smart-dom-reader-2.0.10.tgz","_integrity":"sha512-SPclKdBkDqB1OcTj/MukeKwwEb6VxyidskESe1p981AcnMOg499L0afm9+rmo6tC4MPvPdBpypktTe5GR2HXgA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.10_1772466702787_0.48422884933022625","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"@mcp-b/smart-dom-reader","version":"2.0.11","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.11","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"a95c29dea096b7769e9788435eec6cf1ddadba65","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.11.tgz","fileCount":11,"integrity":"sha512-3DwOmlsmuhyiz9SwaNBY0dCP2zOvf4u6NGs/I8qFKW4lCG9WPZM6EqdhJJGDpmDnPAXRSEHVH/emCd8SkykQ4Q==","signatures":[{"sig":"MEQCIFKC4ODo9wbdayRB6iiZP/Sute+Y17ai/4dXT6UA0qg2AiAZJ3AS6qFkmSwdyCL9kdHs+3YvnSTtJuAYDHBKI6ewXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445941},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.11.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/5a466f00bbb30ec74cdb1c70975b6402/mcp-b-smart-dom-reader-2.0.11.tgz","_integrity":"sha512-3DwOmlsmuhyiz9SwaNBY0dCP2zOvf4u6NGs/I8qFKW4lCG9WPZM6EqdhJJGDpmDnPAXRSEHVH/emCd8SkykQ4Q==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.11_1772471294324_0.4952511582371446","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"@mcp-b/smart-dom-reader","version":"2.0.12","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.12","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"885449031c324c8d5a2f54f4170bbd23416181f1","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.12.tgz","fileCount":11,"integrity":"sha512-/syzi/bh7sIyvm7BaSbN36li0w8qLYyj9Ib/xL4iyyS1HWUOWUw31/OorISi3Bl0mv3uypq93a34ozKpi6JaKQ==","signatures":[{"sig":"MEUCIQC6H67sk9iacTgnpxHXZl3bvBCZmk0Y21JhNSmBqYG5ywIgG5duqvlIGW99IZaZ2Ri87U50vRD1u+vn9EyFSYb3uNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445941},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.12.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/2ad84771e76f360e886df1557b0ae020/mcp-b-smart-dom-reader-2.0.12.tgz","_integrity":"sha512-/syzi/bh7sIyvm7BaSbN36li0w8qLYyj9Ib/xL4iyyS1HWUOWUw31/OorISi3Bl0mv3uypq93a34ozKpi6JaKQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.12_1772651926551_0.28598282456477997","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"@mcp-b/smart-dom-reader","version":"2.0.13","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.0.13","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"ad9c39714d889696c8e1323870eff541b1c16bbb","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.0.13.tgz","fileCount":11,"integrity":"sha512-gPabYoC2Yj8lwg5ysXvYCyJyH8dSJrM071Dw9bJApZVxDx1G19w+ZycOLctgzSCah9YTAdL6WhOjdvAVOhou2A==","signatures":[{"sig":"MEYCIQCdbKIatzWM5vRVVMbPLdcluISPvJZu4uGFVTBugnF6HAIhAJRNXCc1q9h1O2cf5/iKe5/gVfKUByvC3iBQsZZ46P8s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445941},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.0.13.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/513dedfd55922847e3c6d9fc44d63216/mcp-b-smart-dom-reader-2.0.13.tgz","_integrity":"sha512-gPabYoC2Yj8lwg5ysXvYCyJyH8dSJrM071Dw9bJApZVxDx1G19w+ZycOLctgzSCah9YTAdL6WhOjdvAVOhou2A==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.0.13_1772736463809_0.4184421905519151","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@mcp-b/smart-dom-reader","version":"2.1.0","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.1.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"42b01be9a04d2619deef0c010686fe7a2fd096c9","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.1.0.tgz","fileCount":11,"integrity":"sha512-Xt93bRLLd/0RLSp1OW4FBiXks/mNnBKs7sYhEUulg4JPsuIw1ZAFWDIM8szVkciCIcd7FOCtMoR7ZVQ2O4xVLA==","signatures":[{"sig":"MEQCIGabrckMnwBysb+fuveDCrZSWDatEdvZSiI641seAapRAiB5RSo2Exuk7awQdcxjCqrSCdGNoxVutx6JjN3WdO20VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445940},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/8b48a0d65fc62abb5b24755433a23723/mcp-b-smart-dom-reader-2.1.0.tgz","_integrity":"sha512-Xt93bRLLd/0RLSp1OW4FBiXks/mNnBKs7sYhEUulg4JPsuIw1ZAFWDIM8szVkciCIcd7FOCtMoR7ZVQ2O4xVLA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.1.0_1772858914193_0.793946406951799","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@mcp-b/smart-dom-reader","version":"2.2.0","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.2.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"c4c03c3576bee4e8b3d07e88bad2dbe87e40fe8e","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.2.0.tgz","fileCount":11,"integrity":"sha512-Ph22biGTyk2Ew8TEDTqALQnDeNqwh0LL0kaZtugG1sJw4UU2oNil1vQGGe3yfobcD6a8bFRQM3I/G42QUtGQyw==","signatures":[{"sig":"MEUCIBmxwkRkOWQUxZWv3buvGP4uK/HgOT2vrdP4TMEWLTPvAiEA94vKpmWS3NHMh+Th+Z4pmUzLQxENfHfDLovN+FztCJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445939},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/ec75541304a0741e88862d3810f34299/mcp-b-smart-dom-reader-2.2.0.tgz","_integrity":"sha512-Ph22biGTyk2Ew8TEDTqALQnDeNqwh0LL0kaZtugG1sJw4UU2oNil1vQGGe3yfobcD6a8bFRQM3I/G42QUtGQyw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.2.0_1773285387893_0.44769285606968157","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-beta-20260311225012":{"name":"@mcp-b/smart-dom-reader","version":"0.0.0-beta-20260311225012","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@0.0.0-beta-20260311225012","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"6bdf7277a77240fdd11edc09f476361f957eeb0b","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-0.0.0-beta-20260311225012.tgz","fileCount":11,"integrity":"sha512-gBopPnlEPitR4czw7axvX08UFJrbb1ib4AGtw87Ok70tYDzwQpebtkHv43SFf0jZ2SHFZJMnI+KCw/lN/UXacg==","signatures":[{"sig":"MEQCIH6t+JuOc2hxYM8Ja73YMOBb5i20wQJ7ItEl6nkOFqgEAiBzu3tVBpvtPXVl5K8PUn7YVUy+Itq2BjxHvZjDlSqfbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445960},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-0.0.0-beta-20260311225012.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/5320a3394db178835a27af34a0b05287/mcp-b-smart-dom-reader-0.0.0-beta-20260311225012.tgz","_integrity":"sha512-gBopPnlEPitR4czw7axvX08UFJrbb1ib4AGtw87Ok70tYDzwQpebtkHv43SFf0jZ2SHFZJMnI+KCw/lN/UXacg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_0.0.0-beta-20260311225012_1773294677282_0.39045937478916226","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-beta-20260311225423":{"name":"@mcp-b/smart-dom-reader","version":"0.0.0-beta-20260311225423","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@0.0.0-beta-20260311225423","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"a240309bbbb8039e79c50271ea0c611d9215fe8c","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-0.0.0-beta-20260311225423.tgz","fileCount":11,"integrity":"sha512-H0wonn+SYTs2t73sEVOOm8ueWmI9aNz/vHAcR+4OsCNeJmjYZfxtORQf7CUI7wHRjk69zfNGZOH94Nkb6fIL6Q==","signatures":[{"sig":"MEUCICSx/9mFSg/02HP6IQcxwOgyEE83lvgP+Q9mdAExXyBPAiEAgNyzraZprCh/VbfmFzFp4QPzclkq2rLsSw984MJ0Ick=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445960},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-0.0.0-beta-20260311225423.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/ee063ca0f64018bc6c9bef907c461761/mcp-b-smart-dom-reader-0.0.0-beta-20260311225423.tgz","_integrity":"sha512-H0wonn+SYTs2t73sEVOOm8ueWmI9aNz/vHAcR+4OsCNeJmjYZfxtORQf7CUI7wHRjk69zfNGZOH94Nkb6fIL6Q==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_0.0.0-beta-20260311225423_1773294922840_0.4358796050644038","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-beta-20260311230356":{"name":"@mcp-b/smart-dom-reader","version":"0.0.0-beta-20260311230356","keywords":["mcp","model-context-protocol","browser","dom","extraction","ai","selector","interactive","semantic","llm","claude","chatgpt","openai","anthropic","web-scraping","css-selector","xpath","browser-automation","puppeteer","playwright","ai-agents","token-efficient","dom-parser","web-ai","userscript","shadow-dom","iframe"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@0.0.0-beta-20260311230356","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"6ff536cd3388ca12d11ee94731bd849af0ad81e0","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-0.0.0-beta-20260311230356.tgz","fileCount":11,"integrity":"sha512-/TFzIvO4xo5hkFyZWfEpoKVDhmfX4i7bnfzSJPTtvnL3nLPxa3nVm8Ih8sZno7Atw0TXKVWlsLKUOqHFeOvJIg==","signatures":[{"sig":"MEYCIQDLK8T4V3ifWadz9Go5L0hm5GittqdgNuu1MFTw+/CpcAIhAICZBaHnWH+Dc83TL2XORdwgQCHvWc31dxLdIP20Rl6q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445959},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-0.0.0-beta-20260311230356.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"biome lint --write .","build":"tsdown","check":"biome check --write .","clean":"rm -rf dist .turbo","format":"biome format --write .","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vite build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/a6c57cdc1e2dcf95d0156fe4bf3a8902/mcp-b-smart-dom-reader-0.0.0-beta-20260311230356.tgz","_integrity":"sha512-/TFzIvO4xo5hkFyZWfEpoKVDhmfX4i7bnfzSJPTtvnL3nLPxa3nVm8Ih8sZno7Atw0TXKVWlsLKUOqHFeOvJIg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^7.1.11","tsdown":"^0.15.10","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_0.0.0-beta-20260311230356_1773295479486_0.7874579208624952","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-beta-20260319163307":{"name":"@mcp-b/smart-dom-reader","version":"0.0.0-beta-20260319163307","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@0.0.0-beta-20260319163307","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"2c628221a7347170b0accef5f9aa018236a29122","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-0.0.0-beta-20260319163307.tgz","fileCount":11,"integrity":"sha512-mTpI0/5GP+ecVIjU+4GdPQi0u6HAZGDW0LT8ni9TJ27plc4l9+uYkTZRlbeWbnsuE9jiQJmX+/89+fLfLDhYEg==","signatures":[{"sig":"MEQCIG/tv7PVO3v9AO27uk1IYaX7QztwX4vOb16zG16w1GYuAiBbF4+AJP55PerFQeGf1kZcoVIJ9iBEWsHyWYKxfvvCVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446433},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-0.0.0-beta-20260319163307.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/26452ce105bef0ad2cdb72dd49677698/mcp-b-smart-dom-reader-0.0.0-beta-20260319163307.tgz","_integrity":"sha512-mTpI0/5GP+ecVIjU+4GdPQi0u6HAZGDW0LT8ni9TJ27plc4l9+uYkTZRlbeWbnsuE9jiQJmX+/89+fLfLDhYEg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.4.2","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.3.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"latest","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_0.0.0-beta-20260319163307_1773963241480_0.7899336690759355","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@mcp-b/smart-dom-reader","version":"2.3.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.3.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"9856fdccd2fe4c50d94d055a005d7ca74135efbc","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.3.0.tgz","fileCount":11,"integrity":"sha512-4tqb3gbVBXSLmBuxo2G4UgBXw2Wo1Xuh4HcmEBAge770ThRV+9/AsgeDWlBwnXHXCcdv+f6MUcelyw3nbr2MvQ==","signatures":[{"sig":"MEUCIQCrRFud/2difwsouT1uggi2diwa1O6hn14p5s7fx7DoqAIgMz/3oownQmDzxqvigXF3OreQbE3IpG6ZEmkP5/tV3sA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446413},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/7617a7f5a8d88de748ed512fc7c395e8/mcp-b-smart-dom-reader-2.3.0.tgz","_integrity":"sha512-4tqb3gbVBXSLmBuxo2G4UgBXw2Wo1Xuh4HcmEBAge770ThRV+9/AsgeDWlBwnXHXCcdv+f6MUcelyw3nbr2MvQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.12.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"latest","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.3.0_1778124822839_0.8770196828845747","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@mcp-b/smart-dom-reader","version":"2.3.1","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.3.1","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"5e76170e7a8d0e1e48112c57ab8dc922a99b4585","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.3.1.tgz","fileCount":11,"integrity":"sha512-8IYoqKigHbG2BLtsv04ZtEOCgRbafr+RkVq0ZxrZNcTuPIRS71eMt+IG4ORc4L4tFAS1p3wtZF5HOwTe+XFchw==","signatures":[{"sig":"MEQCIBVIqwkO7MJg+8oVPS5R7iXV2HkzLYH7GLdEa7Ccw5PTAiB0+kYsGNEIbN9bkwr7jBFnd1zw407lnE2ri7J0jOoT4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446413},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/72c21585990b8ec0abde2e72b8723668/mcp-b-smart-dom-reader-2.3.1.tgz","_integrity":"sha512-8IYoqKigHbG2BLtsv04ZtEOCgRbafr+RkVq0ZxrZNcTuPIRS71eMt+IG4ORc4L4tFAS1p3wtZF5HOwTe+XFchw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.12.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"latest","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.3.1_1778124938476_0.18873183198724286","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@mcp-b/smart-dom-reader","version":"2.3.2","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.3.2","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"ba218b02aa1501f6d6ec8abba786ca613a865eee","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.3.2.tgz","fileCount":11,"integrity":"sha512-sUsgGM+hYbBVnu/w08V8nTlkq09UwuwhXDP2ZKyHBu6Rjz4DdCeAnqh2uYxGD4702CSfqm8wrq8Z/X2P1rSKtg==","signatures":[{"sig":"MEUCIDD6lavlJNdUy3YRUArB6JrAGxH5r6TMQ56+b6b9o3yMAiEAiSCMLYPOY5mTfE2RaDAPtt+nxq9Z65xMObnrDrrfEUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446400},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"miguelspizza","email":"alexmnahas@gmail.com"},"_resolved":"/private/var/folders/5y/ysfq1x7s50lc168yy1gvvf4m0000gn/T/7240b67c91ca1057acf15f034c5829d8/mcp-b-smart-dom-reader-2.3.2.tgz","_integrity":"sha512-sUsgGM+hYbBVnu/w08V8nTlkq09UwuwhXDP2ZKyHBu6Rjz4DdCeAnqh2uYxGD4702CSfqm8wrq8Z/X2P1rSKtg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.12.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"latest","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.3.2_1778559622421_0.4493969541341114","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-beta.20260528050333":{"name":"@mcp-b/smart-dom-reader","version":"2.3.1-beta.20260528050333","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@2.3.1-beta.20260528050333","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"31a2afd02f0de1f48a8f2b059db79f0a4597d66b","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-2.3.1-beta.20260528050333.tgz","fileCount":11,"integrity":"sha512-0R2hIXsZ2XlYEDRyTkbWHebDfV6LcKvysFN3yOt3iWBO8n26xvlcoGr6/mN6OYZmDG3KcdBe9R3tXFCjrtNG1w==","signatures":[{"sig":"MEYCIQClRC76UMRyBgf3IeJAfvYQOsyVfQWP12q4VOWk8QbTNAIhAOShYKnzrRYIzF43xHa/9BeKIHvTuNdBPOema8Y38lWJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@2.3.1-beta.20260528050333","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446490},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-2.3.1-beta.20260528050333.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/e64a19ee54fb76e145af3b81ac29c1f5/mcp-b-smart-dom-reader-2.3.1-beta.20260528050333.tgz","_integrity":"sha512-0R2hIXsZ2XlYEDRyTkbWHebDfV6LcKvysFN3yOt3iWBO8n26xvlcoGr6/mN6OYZmDG3KcdBe9R3tXFCjrtNG1w==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_2.3.1-beta.20260528050333_1779944623485_0.3413020889194014","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.20260529000441":{"name":"@mcp-b/smart-dom-reader","version":"3.0.0-beta.20260529000441","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@3.0.0-beta.20260529000441","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"4cfb0a24ae0d5d82584c59755f7a62709efef4ad","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-3.0.0-beta.20260529000441.tgz","fileCount":11,"integrity":"sha512-9cdIBxZhOl+hU3TLBB8mD95EfZR25370/Yn0SGuhv+PlchzI7dFJZxgh/qyOCVXoYX+HPQHI6G24eXzYsb3Pkg==","signatures":[{"sig":"MEQCID3ZxB8ekVBG8N+g+Z88RwOaCAdi74K1nB/jiPIxZ9taAiBSt+MK/d17W3fmQN184RhRokIvrVaXPoRebvVjKhKbiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@3.0.0-beta.20260529000441","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446490},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-3.0.0-beta.20260529000441.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/8a68c7e3685c8ab097e35512f59a8b3f/mcp-b-smart-dom-reader-3.0.0-beta.20260529000441.tgz","_integrity":"sha512-9cdIBxZhOl+hU3TLBB8mD95EfZR25370/Yn0SGuhv+PlchzI7dFJZxgh/qyOCVXoYX+HPQHI6G24eXzYsb3Pkg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_3.0.0-beta.20260529000441_1780013092304_0.015340750878860554","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@mcp-b/smart-dom-reader","version":"3.0.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@3.0.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"b8bdaf5c3a2e17fa55306a2f1da928a6f4d7bcb3","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-3.0.0.tgz","fileCount":11,"integrity":"sha512-krLZsZ0sEFkidKC4sixGWwOSINruNF69X9Q8vRMWyfZRJfH7X9K93yWcdIUvB8KOddrJlVwWUMws3pl4BT2ROA==","signatures":[{"sig":"MEUCIBRaRIgovk2gPIZrjTHydG9Eu9IULCAFYOvIyM+YfJYUAiEAmPCzbhSqZlEfRXgz43kpZuc6rWsymUQtZV3D31Feavg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446470},"main":"./dist/index.js","type":"module","_from":"file:mcp-b-smart-dom-reader-3.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","browser":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./bundle-string":{"types":"./dist/bundle-string.d.ts","import":"./dist/bundle-string.js"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/9d067d6441ad3c66ec1feabbe842b957/mcp-b-smart-dom-reader-3.0.0.tgz","_integrity":"sha512-krLZsZ0sEFkidKC4sixGWwOSINruNF69X9Q8vRMWyfZRJfH7X9K93yWcdIUvB8KOddrJlVwWUMws3pl4BT2ROA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.26.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_3.0.0_1780020813281_0.6514604222038827","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.20260702171253":{"name":"@mcp-b/smart-dom-reader","version":"3.0.0-beta.20260702171253","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@3.0.0-beta.20260702171253","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"8b7bb98cbc41cc68d2c9434798cde841f498baaa","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-3.0.0-beta.20260702171253.tgz","fileCount":11,"integrity":"sha512-rn+H/+hmC1BrpI+N0+nZpzaDaQzlbZMfD57OBHpspFJmMe5Uzvu4FJ+zgl8r38JZhD9uuMN2FSlMn/uLrWBT8Q==","signatures":[{"sig":"MEYCIQCkEgiZ9xaK0TvIaDmCmAppBYVPlhzQt4rCeu3ILMt+NAIhAK9ZhJ2lNEJI8/KWJK7J2S7aQNFkXvr+PMpaD77hlvEH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@3.0.0-beta.20260702171253","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446517},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-3.0.0-beta.20260702171253.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/99b55428ce66f89f5e216ccd7abf177f/mcp-b-smart-dom-reader-3.0.0-beta.20260702171253.tgz","_integrity":"sha512-rn+H/+hmC1BrpI+N0+nZpzaDaQzlbZMfD57OBHpspFJmMe5Uzvu4FJ+zgl8r38JZhD9uuMN2FSlMn/uLrWBT8Q==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_3.0.0-beta.20260702171253_1783012444785_0.5257708019043474","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.20260702173007":{"name":"@mcp-b/smart-dom-reader","version":"4.0.0-beta.20260702173007","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@4.0.0-beta.20260702173007","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"ca10a0e9043e63c4170d5e271ffe71ea87b4d232","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-4.0.0-beta.20260702173007.tgz","fileCount":11,"integrity":"sha512-wZRTdOX8WBf8omr90g7hEBtdJNYfS+bgAJHRWO4kVbl0Njxj81Yi02BSXXeVZasrsZYcK+7Mn+BlDUouvyzbFg==","signatures":[{"sig":"MEQCIBkCp1mYC5a4QDMTKGvpRrbhA2RPEMoyZF75ehfqAes+AiB7RXpW7Nbqh+jwdkqRhicMQFElBO7smNPNRvB3EBc/0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@4.0.0-beta.20260702173007","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446517},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-4.0.0-beta.20260702173007.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/2b7fb9f0b1cc90272e73855b3e0713d3/mcp-b-smart-dom-reader-4.0.0-beta.20260702173007.tgz","_integrity":"sha512-wZRTdOX8WBf8omr90g7hEBtdJNYfS+bgAJHRWO4kVbl0Njxj81Yi02BSXXeVZasrsZYcK+7Mn+BlDUouvyzbFg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_4.0.0-beta.20260702173007_1783013433998_0.0766343529228628","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.20260702174111":{"name":"@mcp-b/smart-dom-reader","version":"4.0.0-beta.20260702174111","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@4.0.0-beta.20260702174111","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"3583cb007ce03569074a554b0e2024ac6c5f161f","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-4.0.0-beta.20260702174111.tgz","fileCount":11,"integrity":"sha512-gBawkIDWTZpTnbC7sg+MJ0Z3wR+A9GZ3jHKUsAuTIJ01tFY5EXDoj1E7NJKv/5MzYVzQkJR3K0Qv6BcWN5cahg==","signatures":[{"sig":"MEUCIQDqvupgUF6e0fU8kdvrS6JIpfruHXTMUh+vb/bNPj0PqgIgFPZjo9TRQa47u5M6YyBqU55ap+bzEihkRAf2KR5r7ws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@4.0.0-beta.20260702174111","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446517},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-4.0.0-beta.20260702174111.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/6a5c02ab5634ae005211f0f8d72eead8/mcp-b-smart-dom-reader-4.0.0-beta.20260702174111.tgz","_integrity":"sha512-gBawkIDWTZpTnbC7sg+MJ0Z3wR+A9GZ3jHKUsAuTIJ01tFY5EXDoj1E7NJKv/5MzYVzQkJR3K0Qv6BcWN5cahg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_4.0.0-beta.20260702174111_1783014158319_0.3843104838120899","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.20260702175639":{"name":"@mcp-b/smart-dom-reader","version":"4.0.0-beta.20260702175639","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@4.0.0-beta.20260702175639","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"014e4a02c8a7797fb952d566d90db3ee35c8e9b9","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-4.0.0-beta.20260702175639.tgz","fileCount":11,"integrity":"sha512-yo8NBkCvhyln1SNrRq/4hABO/0l7KXObdPuECnG9baIl/hBWCjv7KT9ljI8opN6+F1cyeuV/xZoW5L5xUFy1Jw==","signatures":[{"sig":"MEQCIFK82AjPXuLopulPAgf9s8cu1l7xaToMx7NX8qbYDMGYAiA87fPUuxdbld3mx9okDhTmv2OYCTQRKlnxTVrNUgYfcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@4.0.0-beta.20260702175639","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446517},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-4.0.0-beta.20260702175639.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/2a5b07ac8ed4334d20b2ef91bae55d22/mcp-b-smart-dom-reader-4.0.0-beta.20260702175639.tgz","_integrity":"sha512-yo8NBkCvhyln1SNrRq/4hABO/0l7KXObdPuECnG9baIl/hBWCjv7KT9ljI8opN6+F1cyeuV/xZoW5L5xUFy1Jw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_4.0.0-beta.20260702175639_1783015091052_0.3973694511091843","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-beta.20260702180822":{"name":"@mcp-b/smart-dom-reader","version":"4.0.0-beta.20260702180822","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@4.0.0-beta.20260702180822","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"83d409324b1616f18ea7f56a387e34877ed05d89","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-4.0.0-beta.20260702180822.tgz","fileCount":11,"integrity":"sha512-Xcx03bSCEA8vS/4IoeYoNsmAo8bbUZgQahcLC0Q6/T8B7GtrD1yQ0F6h+8cZsX5kdPmBhBufJc+Z62repqnN1g==","signatures":[{"sig":"MEUCIQDaN8FauDEp16baPLhzFjBSgptkYu7LQfVhR8Om5R4YpQIgfoyUgEesTA3r9/UTqC6EbjhyuRJwR/fbwcwZSTWGU00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@4.0.0-beta.20260702180822","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446517},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-4.0.0-beta.20260702180822.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/2704e085e05e0631dac70b4125c7803a/mcp-b-smart-dom-reader-4.0.0-beta.20260702180822.tgz","_integrity":"sha512-Xcx03bSCEA8vS/4IoeYoNsmAo8bbUZgQahcLC0Q6/T8B7GtrD1yQ0F6h+8cZsX5kdPmBhBufJc+Z62repqnN1g==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_4.0.0-beta.20260702180822_1783015792406_0.1689450968125188","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@mcp-b/smart-dom-reader","version":"4.0.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@4.0.0","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"bafb6188ca7a0e384544b13642310eb9ab12bbea","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-4.0.0.tgz","fileCount":11,"integrity":"sha512-Eo/QxW13bK7JrcMv8nd62DHAiMP5dfeMskYK7qm1gkF92oayuvqgTvmWcCE1TgyLHSB+N8yWx8cplQ9QI1//ig==","signatures":[{"sig":"MEQCIA+8Ekht8MckvTgDJYozIHGVDQQ/c5rmht/mMh6wIL8hAiBKqnWMcH8wKjc12Sk7La+R2arvMllP2gLuqas5Sjm0iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446482},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-4.0.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/a41d813457d70ab796baa85afa19ccdd/mcp-b-smart-dom-reader-4.0.0.tgz","_integrity":"sha512-Eo/QxW13bK7JrcMv8nd62DHAiMP5dfeMskYK7qm1gkF92oayuvqgTvmWcCE1TgyLHSB+N8yWx8cplQ9QI1//ig==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_4.0.0_1783026528611_0.6954864915209993","host":"s3://npm-registry-packages-npm-production"}},"4.1.0-beta.20260702224704":{"name":"@mcp-b/smart-dom-reader","version":"4.1.0-beta.20260702224704","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@4.1.0-beta.20260702224704","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"1c2b091154fe906d3af0fe96d94b260a19fd6d2a","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-4.1.0-beta.20260702224704.tgz","fileCount":11,"integrity":"sha512-Q6fZJ2rciRnuHEpgGIG+0VRFLQaLAcKfG+bIrpD+b0gARuzwOCd6r0WTt00fBqEYuziPro+qwAXLhCwrpis3jQ==","signatures":[{"sig":"MEUCIQCQmm5XxMz61+ZeQJkGZSI5qDMyFpU5x8Ar4pdxoJPUQAIgEFf/Nqj3r/09RQVvudhUKP7ItXg82CrUDEEsLhILmp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@4.1.0-beta.20260702224704","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446502},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-4.1.0-beta.20260702224704.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/406a9a8766a9217002ffd810fe02fdc1/mcp-b-smart-dom-reader-4.1.0-beta.20260702224704.tgz","_integrity":"sha512-Q6fZJ2rciRnuHEpgGIG+0VRFLQaLAcKfG+bIrpD+b0gARuzwOCd6r0WTt00fBqEYuziPro+qwAXLhCwrpis3jQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"peerDependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_4.1.0-beta.20260702224704_1783032459165_0.06478970389099836","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.20260731010736":{"name":"@mcp-b/smart-dom-reader","version":"5.0.0-beta.20260731010736","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.0.0-beta.20260731010736","maintainers":[{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"215e669e8ba4130460b9f113c4f4382288be7d0c","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.0.0-beta.20260731010736.tgz","fileCount":11,"integrity":"sha512-+Yyp5a1Mvu9MZ/UR7Ic092/TB7YRC0DEcJ9yZzpQqrhrIfQ3l3XGgTH63xAur/noYsdYpTHFI0rdFmu6p0a49w==","signatures":[{"sig":"MEQCID/t7VycKF2WDOkB3aSoLkM7EfuL8tZ7Gnzum5LDHzHJAiBNTHegTb25r/NWRozqQkWrD3iBXOn+MllAEpfWly5woA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.0.0-beta.20260731010736","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444424},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.0.0-beta.20260731010736.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","version:major":"pnpm version major --no-git-tag-version","version:minor":"pnpm version minor --no-git-tag-version","version:patch":"pnpm version patch --no-git-tag-version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/e91f0411e03b2c229ce0ffb8957519e7/mcp-b-smart-dom-reader-5.0.0-beta.20260731010736.tgz","_integrity":"sha512-+Yyp5a1Mvu9MZ/UR7Ic092/TB7YRC0DEcJ9yZzpQqrhrIfQ3l3XGgTH63xAur/noYsdYpTHFI0rdFmu6p0a49w==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.18.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2","vite-plugin-monkey":"^6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.0.0-beta.20260731010736_1785460078147_0.8114417729794916","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.20260819200431":{"name":"@mcp-b/smart-dom-reader","version":"5.0.0-beta.20260819200431","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.0.0-beta.20260819200431","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"83a6ead9c48c5153cd5b7f3b52712602a32d2d4b","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.0.0-beta.20260819200431.tgz","fileCount":9,"integrity":"sha512-iMZTHW5Y0ViM9D+igNgNT+PTGErkQIi1a7kukNZFgsrRFsBSNART3i04tozeeZ3fiDqvgiUmjhF2H20a2Mu3zQ==","signatures":[{"sig":"MEUCIQC1Su7oyZJ2fLCAcZZQouHNr3GN5mYjf8LT6HUmh/qS0AIgNe+SJbFjDUBWncYsICKXWcX/RPOirhzVk1pujD6JkUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.0.0-beta.20260819200431","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385265},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.0.0-beta.20260819200431.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/cd85abfdf0cbf73977e69d7a350fcd3a/mcp-b-smart-dom-reader-5.0.0-beta.20260819200431.tgz","_integrity":"sha512-iMZTHW5Y0ViM9D+igNgNT+PTGErkQIi1a7kukNZFgsrRFsBSNART3i04tozeeZ3fiDqvgiUmjhF2H20a2Mu3zQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.0.0-beta.20260819200431_1787169903638_0.41188229508559693","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@mcp-b/smart-dom-reader","version":"5.0.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.0.0","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"9cc8436e80834d1a906c53531fc8f039db80440a","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.0.0.tgz","fileCount":9,"integrity":"sha512-ccedmJZd4MFXV0Rxd2VpXZHFMqcvTGUFBwRR5Yti4XuHvnHb57ONY4ajP2ME6PlqBcotzlM/9EsMA3oRWUpE9g==","signatures":[{"sig":"MEUCIE6eb9u9wmLgAPBTEH42k8TQsppwf9U+IUVvLloQFSvTAiEA75c09a7TpLiu6WeASS/OxVDnEUAGKfnaqdKcQ4bLRf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385185},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.0.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/8cf7409a90edb91b1f570b6e11139f1a/mcp-b-smart-dom-reader-5.0.0.tgz","_integrity":"sha512-ccedmJZd4MFXV0Rxd2VpXZHFMqcvTGUFBwRR5Yti4XuHvnHb57ONY4ajP2ME6PlqBcotzlM/9EsMA3oRWUpE9g==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.0.0_1787376254961_0.6510050559488674","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@mcp-b/smart-dom-reader","version":"5.0.1","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.0.1","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"24c063593d12a6e5fd087d8bb2b7372d9bfe8e1e","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.0.1.tgz","fileCount":9,"integrity":"sha512-ihUByzL88KaHujr41KvfPLhY4mf4UsOlm3lMllgrMsAGxxa9WAlNxIpCi88oghM4uhHv4t7qiExmambLtn8V0w==","signatures":[{"sig":"MEQCIC4PX+AK5NOHA/KFi8PNdQN95yBVT9r9i+nZQdQ7DBrCAiB1697H3ZdlHnrkFsrZzxcB58EC/U/Byl1djdG1Eka3Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385185},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.0.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/2edbc4d83ec0085505416f3f31cf2b8f/mcp-b-smart-dom-reader-5.0.1.tgz","_integrity":"sha512-ihUByzL88KaHujr41KvfPLhY4mf4UsOlm3lMllgrMsAGxxa9WAlNxIpCi88oghM4uhHv4t7qiExmambLtn8V0w==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.0.1_1787526033650_0.06677196997854717","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"@mcp-b/smart-dom-reader","version":"5.0.2","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.0.2","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"caa23f877e496e153e98bea83e55390a2d7cf012","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.0.2.tgz","fileCount":9,"integrity":"sha512-BReJjgC/i+h9b92u9+iYkqYiClHLF87mU8chhs9iKEQHBZ8OCAJvPnVTL88Uw7FRCL2QS6t3szSkoobvaSil/g==","signatures":[{"sig":"MEYCIQD8n6CPQRP2wGSX3UFbxwjGNC2luHmNJ7tvH0+YfvBtwQIhALbDHUuCn/dpqd4zGyDxa1rGifqLddNcrEcIse2r/Fqq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385185},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.0.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/1214817561de1d6feb613b70ef89bb7e/mcp-b-smart-dom-reader-5.0.2.tgz","_integrity":"sha512-BReJjgC/i+h9b92u9+iYkqYiClHLF87mU8chhs9iKEQHBZ8OCAJvPnVTL88Uw7FRCL2QS6t3szSkoobvaSil/g==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@latest","vite-plus":"^0.1.22","typescript":"^5.8.3","@types/node":"22.17.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.0.2_1788136171248_0.9656744207550407","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"@mcp-b/smart-dom-reader","version":"5.0.3","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.0.3","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"700786b8dcd01703269c0cd684e04b5830aba7c6","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.0.3.tgz","fileCount":9,"integrity":"sha512-a8fnIIlWxnr91WD9gohRUVQLg1brwr/qa4o3aLCO5c/g3COL5wgktRQHKDzrVtCDrwLz+Co7RJyhG/UCpwUjKw==","signatures":[{"sig":"MEUCIQCjkoqoGjjvdnX6gJ1fx250mp8BKjLHdnupbYNCtzqSfgIgIYDVPtObiobRIO0rNHOzPfdDm32xmQ5ljToqrCwDXMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384080},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.0.3.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/302f948b9ab200812a15ba8bf4f2e548/mcp-b-smart-dom-reader-5.0.3.tgz","_integrity":"sha512-a8fnIIlWxnr91WD9gohRUVQLg1brwr/qa4o3aLCO5c/g3COL5wgktRQHKDzrVtCDrwLz+Co7RJyhG/UCpwUjKw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.22","vite-plus":"0.1.22","typescript":"^5.8.3","@types/node":"22.17.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.0.3_1788138158381_0.14828521724556798","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@mcp-b/smart-dom-reader","version":"5.1.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@5.1.0","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"0dc99deac196bd3b22b693cfc9ec639394ea331e","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-5.1.0.tgz","fileCount":9,"integrity":"sha512-IELhD6bvWn6yuv/t8nxNbkKhy6OQ79PENTEELVlKp3LReaASZwEnIaecQKQG0htJ4eR8oxrQCNPl5cbn9A0j+w==","signatures":[{"sig":"MEUCIAZJOQe0RgyDJhqLnm/l84z11Yc5F7VvWqMW0Fmf5FYbAiEAik38eIghjfWWxSGxnJeQsZra1blTRO4sx6UoSCvcwRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@5.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384751},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-5.1.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/1a056e07c4cea090774fde6cc31697cf/mcp-b-smart-dom-reader-5.1.0.tgz","_integrity":"sha512-IELhD6bvWn6yuv/t8nxNbkKhy6OQ79PENTEELVlKp3LReaASZwEnIaecQKQG0htJ4eR8oxrQCNPl5cbn9A0j+w==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_5.1.0_1788156042510_0.7309881605344821","host":"s3://npm-registry-packages-npm-production"}},"6.0.0-beta.20261001010549":{"name":"@mcp-b/smart-dom-reader","version":"6.0.0-beta.20261001010549","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@6.0.0-beta.20261001010549","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"664a073d48a9cb78d53462f07ca26a4de24e9913","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.0.0-beta.20261001010549.tgz","fileCount":9,"integrity":"sha512-W/MiXqLt4o7FiMH2r6P6KUFSrMifsFB4q0MtdWNnXeUjwokrmOU3OBWVFbIN5Ks/EniwFnzGVIZZdJEelTSSyw==","signatures":[{"sig":"MEYCIQD4GohYtiHOuU2hJ6pAN6roTJDZgLsBlFXLdy74UdTDvQIhAJI69b/9PfFnhbmlGGgCK7u1KpGM0gxUEcJeSHM12S+a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDVXkVZdklykCKzO79a+9KPfSsMOJIe49NGmQPmDQ1x8AiEAqjz6LaHvSXkDdw7TAHG+HSKWH5Wo5gWXE3Xw3i5AV+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.0.0-beta.20261001010549","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385070},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-6.0.0-beta.20261001010549.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/101d04e44e537eef443177ec881a29b5/mcp-b-smart-dom-reader-6.0.0-beta.20261001010549.tgz","_integrity":"sha512-W/MiXqLt4o7FiMH2r6P6KUFSrMifsFB4q0MtdWNnXeUjwokrmOU3OBWVFbIN5Ks/EniwFnzGVIZZdJEelTSSyw==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vitest":"npm:@voidzero-dev/vite-plus-test@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_6.0.0-beta.20261001010549_1790816881076_0.0576174546696655","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@mcp-b/smart-dom-reader","version":"6.0.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@6.0.0","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"291c17759fe83a634b3341b8004310670ae57b3a","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.0.0.tgz","fileCount":9,"integrity":"sha512-n7ndsmhI6RMSXU9Mx4F4yq4YABJI9WNA/Tb4Odk2BjLJZj/MpldNQOfI6lBf7J0nBTPDIYCFGOKY6x/yPe2ryA==","signatures":[{"sig":"MEUCIHQ/949mCERE5xdcH1lxmteyalOwQgVNjaGA1Mzj1syPAiEAh53bgH3JAAdURyMBrhMAC3LxFAYmB+7ZWs77mTph6xg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBJkccmtQQl/yPSZpFCLgNcWKdZrjdD1zZQ5BpcVd7xYAiB78UC3HBrfUQoxT+r6CvFt7I2sKi9l/RHizrn3ohyBAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384990},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-6.0.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/32ed9d3656ce03d2a2bdacfb7488ffe4/mcp-b-smart-dom-reader-6.0.0.tgz","_integrity":"sha512-n7ndsmhI6RMSXU9Mx4F4yq4YABJI9WNA/Tb4Odk2BjLJZj/MpldNQOfI6lBf7J0nBTPDIYCFGOKY6x/yPe2ryA==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vitest":"npm:@voidzero-dev/vite-plus-test@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_6.0.0_1791479763333_0.44324683384613417","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"@mcp-b/smart-dom-reader","version":"6.0.1","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@6.0.1","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"557413a75e26840b50afe521b29a5d10b25b58a7","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.0.1.tgz","fileCount":9,"integrity":"sha512-vxxe8J8jjWxy0qUDm9FihZByNaGNfLLS7CPFkufwSPH+cwUQeQk/ZDz7jKGyEDgoc3WhCGc2ACkBXZvhKInB0w==","signatures":[{"sig":"MEYCIQD2k/GigEMtRurp7w+Rr4pjgbaqpmzBgfkF7ZhC4b2jsAIhAJB30bbbiuKDl+kz/eiOEUhB+TTeS8sRffuDf4P9Ql5B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFGCwh0YaVdNno12DtDbg+wy6ZmjDTIMl39EhNeCi37vAiEA8nwHQ+vwlJ7JHM+UqbN8J6DwM+6U4dJOTlMWMMs4ehk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384990},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-6.0.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/4b6030d243196daea2f344a3b74132a0/mcp-b-smart-dom-reader-6.0.1.tgz","_integrity":"sha512-vxxe8J8jjWxy0qUDm9FihZByNaGNfLLS7CPFkufwSPH+cwUQeQk/ZDz7jKGyEDgoc3WhCGc2ACkBXZvhKInB0w==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vitest":"npm:@voidzero-dev/vite-plus-test@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_6.0.1_1791818923075_0.926926945350409","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"@mcp-b/smart-dom-reader","version":"6.0.2","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@6.0.2","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"337702d52852789c451f452f2b14220f958f84dd","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.0.2.tgz","fileCount":9,"integrity":"sha512-87z6aJeO+bpIDW8FrsdfAay88hTyYnejKccK3mdm8nmSPHClr1B/IbxxPBxpNfkumdUBYkfosJNbMzCvaXFGUQ==","signatures":[{"sig":"MEQCICH9vEVCAQf5oEr+ua4a+wpceKVSqiEhSdPY9AUFq8baAiBIJG5YFSUDL1Ia+kY1xWgZKiFdOLucM2g7nFmMM0rgsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBUnLGi1c1hdgZk21CAC9/fKYEr/yd6jPMUzX4MT23SIAiAKCqFBthoSWZxSpclvIVHfNZcRT2FWbNfcYQh3euy15g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384990},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-6.0.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/c5b2e1fcb2dac7a3200b03762cf3d09d/mcp-b-smart-dom-reader-6.0.2.tgz","_integrity":"sha512-87z6aJeO+bpIDW8FrsdfAay88hTyYnejKccK3mdm8nmSPHClr1B/IbxxPBxpNfkumdUBYkfosJNbMzCvaXFGUQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.21.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vitest":"npm:@voidzero-dev/vite-plus-test@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_6.0.2_1791907585991_0.41595005937343754","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"@mcp-b/smart-dom-reader","version":"6.0.3","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@6.0.3","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"7b265e1177ec1c047f2d488759b61232f5487fba","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.0.3.tgz","fileCount":9,"integrity":"sha512-TNWoy953a6jNBnzi4iK45cQaD4+rE7xkeRB7wOeXOw9PO6+DLwePoVqP410fha6JVbwnGqKPJwcuFc1Yoz3GTQ==","signatures":[{"sig":"MEYCIQDZtWYzZHV9A4XxgCzZO9dl7zeRygZhneAvCB78MkwpSQIhAMZ+EoOMBxYguUsbiuoLO6IEiTO/PlIEm+tL7sgo1+gI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDmje9oisvlB/r2+VvjPPC2NAomZ6oQXYJXauDk14y0XwIgXoP2mUzg+lNsrypI0Zt+xiuYC5rm/oPwYI3WwP38AJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384990},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-6.0.3.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/796fc2219af4c77d65708a2879a7dcc1/mcp-b-smart-dom-reader-6.0.3.tgz","_integrity":"sha512-TNWoy953a6jNBnzi4iK45cQaD4+rE7xkeRB7wOeXOw9PO6+DLwePoVqP410fha6JVbwnGqKPJwcuFc1Yoz3GTQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.22.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vitest":"npm:@voidzero-dev/vite-plus-test@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_6.0.3_1791994423624_0.3928934473768002","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@mcp-b/smart-dom-reader","version":"6.1.0","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"author":{"name":"Alex Nahas"},"license":"MIT","_id":"@mcp-b/smart-dom-reader@6.1.0","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"e8e31196d13d8ca255b3c922ef2a4283b210e452","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.1.0.tgz","fileCount":9,"integrity":"sha512-0tUe2nKawZ7Wkrmj5euMPnpcDvMOyIwBd/oQCQ0jeKwfWbCGekJZ/LoUvYl6to0OOtk3S9ScWsWAeWOh5ENLtQ==","signatures":[{"sig":"MEUCIBo2KZU9jYmEu754wGzZqJ+Kgf5N/PrMuzT37/DCYxVvAiEA94EBs+5ffTo2yTyj+p+MCTO6n+jBRRgtnMa5M/og6pU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDDXfo9C1xN7I+FX9qhxXxhRBplbzihecycZAgREFQLVAiAsj6jZNIHt8dIhFEIqOTTsfZVFY6px8UrXYt8PqqnWWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384990},"main":"./dist/index.mjs","type":"module","_from":"file:mcp-b-smart-dom-reader-6.1.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"_resolved":"/tmp/a683b8328e2bf756df564392956bf53e/mcp-b-smart-dom-reader-6.1.0.tgz","_integrity":"sha512-0tUe2nKawZ7Wkrmj5euMPnpcDvMOyIwBd/oQCQ0jeKwfWbCGekJZ/LoUvYl6to0OOtk3S9ScWsWAeWOh5ENLtQ==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.14.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"sideEffects":true,"_nodeVersion":"24.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@0.1.24","vitest":"npm:@voidzero-dev/vite-plus-test@0.1.24","vite-plus":"0.1.24","typescript":"^5.8.3","@types/node":"22.20.1","@vitest/coverage-v8":"4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/smart-dom-reader_6.1.0_1794281859946_0.29388181457059537","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"_id":"@mcp-b/smart-dom-reader@6.2.0","bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"dist":{"shasum":"8ac254c0a8611b10955751c6b0bfae6f88a5e8c7","tarball":"https://registry.npmjs.org/@mcp-b/smart-dom-reader/-/smart-dom-reader-6.2.0.tgz","fileCount":9,"integrity":"sha512-gp6X5hU13LHPWuNeLCm6gRdigu6tDLQHDn8DxcF960/YkanjOfYCBq3XHFAf+GOIWAFVdw+oxGHNdv+jld9owg==","signatures":[{"sig":"MEYCIQCN/Xqa/Agffl4l8NSkGG0/SKCVjiO8eMQJATTrLVfBiAIhAKkC46VVqE3a6N6GTywHGKAh9kz1I3BL9Z+IuFJYF7kR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMkkcpIP2Hn6FbiFdAPUR/F/k/uy8dSqSoix5f7F1oeAIgIsVLGMCxD5BmpDiXCD4nZYHuQUtPCgGvNfXRIo2mkUI="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mcp-b%2fsmart-dom-reader@6.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385010},"main":"./dist/index.mjs","name":"@mcp-b/smart-dom-reader","type":"module","_from":"file:mcp-b-smart-dom-reader-6.2.0.tgz","types":"./dist/index.d.mts","author":{"name":"Alex Nahas"},"module":"./dist/index.mjs","browser":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./bundle-string":{"types":"./dist/bundle-string.d.mts","import":"./dist/bundle-string.mjs"}},"license":"MIT","scripts":{"lint":"vp lint --fix","test":"vp test run","build":"vp pack","check":"vp check --fix","clean":"rm -rf dist","format":"vp fmt --write","prebuild":"pnpm build:bundle && node generate-bundle-module.mjs && vp fmt dist-bundle/smart-dom-reader-bundle.js src/bundle-string.ts --write","typecheck":"tsc --noEmit","bundle:mcp":"pnpm --filter @mcp-b/smart-dom-reader build && pnpm --filter @mcp-b/smart-dom-reader-server bundle","test:local":"node test/local-playwright-runner.mjs","publish:dry":"pnpm publish --access public --dry-run","publish:npm":"pnpm publish --access public","build:bundle":"vp build --config vite.config.bundle.ts","test:coverage":"vp test run --coverage"},"version":"6.2.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8a4d40d6-2195-42e4-b5d7-9d3366576b23"}},"homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"_resolved":"/tmp/e5d3c437e2d834092308f310204932bb/mcp-b-smart-dom-reader-6.2.0.tgz","_integrity":"sha512-gp6X5hU13LHPWuNeLCm6gRdigu6tDLQHDn8DxcF960/YkanjOfYCBq3XHFAf+GOIWAFVdw+oxGHNdv+jld9owg==","repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"_npmVersion":"11.19.1","description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","directories":{},"maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"sideEffects":true,"_nodeVersion":"24.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"npm:@voidzero-dev/vite-plus-core@1.3.0","vitest":"5.0.5","vite-plus":"1.3.0","typescript":"^5.8.3","@types/node":"22.20.5","@vitest/coverage-v8":"5.0.5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/smart-dom-reader_6.2.0_1794285024725_0.4599072813511159"}}},"time":{"created":"2025-09-21T22:45:37.861Z","modified":"2026-11-10T04:30:25.262Z","1.0.1":"2025-09-21T22:45:38.135Z","1.0.2":"2025-11-04T18:02:13.792Z","1.0.3-beta.0":"2025-12-03T04:58:05.705Z","1.0.3-beta.1":"2025-12-04T23:22:01.087Z","1.0.3-beta.2":"2025-12-06T03:11:20.435Z","1.0.3-beta.3":"2025-12-07T00:50:43.008Z","1.1.0":"2025-12-07T01:00:29.078Z","1.1.0-beta.20260125195014":"2026-01-25T19:50:37.133Z","1.1.0-beta.20260125195244":"2026-01-25T19:53:07.711Z","1.1.0-beta.20260125195516":"2026-01-25T19:55:39.259Z","1.1.0-canary.20260125211849":"2026-01-25T21:19:14.409Z","1.1.1":"2026-01-26T04:14:08.281Z","1.1.1-canary.20260214192802":"2026-02-15T01:28:20.698Z","0.0.0-beta-20260221154800":"2026-02-21T23:48:48.329Z","1.1.2":"2026-02-23T00:26:35.889Z","1.1.3":"2026-02-26T21:35:59.143Z","1.1.4":"2026-02-26T23:58:33.486Z","2.0.5":"2026-02-27T00:21:02.503Z","2.0.6":"2026-02-28T06:30:44.872Z","2.0.7":"2026-02-28T19:24:00.742Z","2.0.8":"2026-02-28T22:44:22.904Z","2.0.9":"2026-03-01T22:44:33.998Z","2.0.10":"2026-03-02T15:51:42.935Z","2.0.11":"2026-03-02T17:08:14.600Z","2.0.12":"2026-03-04T19:18:46.756Z","2.0.13":"2026-03-05T18:47:43.957Z","2.1.0":"2026-03-07T04:48:34.351Z","2.2.0":"2026-03-12T03:16:28.096Z","0.0.0-beta-20260311225012":"2026-03-12T05:51:17.451Z","0.0.0-beta-20260311225423":"2026-03-12T05:55:23.035Z","0.0.0-beta-20260311230356":"2026-03-12T06:04:39.712Z","0.0.0-beta-20260319163307":"2026-03-19T23:34:01.675Z","2.3.0":"2026-05-07T03:33:42.982Z","2.3.1":"2026-05-07T03:35:38.627Z","2.3.2":"2026-05-12T04:20:22.565Z","2.3.1-beta.20260528050333":"2026-05-28T05:03:43.638Z","3.0.0-beta.20260529000441":"2026-05-29T00:04:52.546Z","3.0.0":"2026-05-29T02:13:33.444Z","3.0.0-beta.20260702171253":"2026-07-02T17:14:04.943Z","4.0.0-beta.20260702173007":"2026-07-02T17:30:34.158Z","4.0.0-beta.20260702174111":"2026-07-02T17:42:38.484Z","4.0.0-beta.20260702175639":"2026-07-02T17:58:11.189Z","4.0.0-beta.20260702180822":"2026-07-02T18:09:52.566Z","4.0.0":"2026-07-02T21:08:48.746Z","4.1.0-beta.20260702224704":"2026-07-02T22:47:39.295Z","5.0.0-beta.20260731010736":"2026-07-31T01:07:58.282Z","5.0.0-beta.20260819200431":"2026-08-19T20:05:03.824Z","5.0.0":"2026-08-22T05:24:15.105Z","5.0.1":"2026-08-23T23:00:33.806Z","5.0.2":"2026-08-31T00:29:31.412Z","5.0.3":"2026-08-31T01:02:38.548Z","5.1.0":"2026-08-31T06:00:42.656Z","6.0.0-beta.20261001010549":"2026-10-01T01:08:01.215Z","6.0.0":"2026-10-08T17:16:03.445Z","6.0.1":"2026-10-12T15:28:43.184Z","6.0.2":"2026-10-13T16:06:26.107Z","6.0.3":"2026-10-14T16:13:43.742Z","6.1.0":"2026-11-10T03:37:40.044Z","6.2.0":"2026-11-10T04:30:24.833Z"},"bugs":{"url":"https://github.com/WebMCP-org/npm-packages/issues"},"author":{"name":"Alex Nahas"},"license":"MIT","homepage":"https://docs.mcp-b.ai/packages/smart-dom-reader/reference","keywords":["ai","ai-agents","anthropic","browser","browser-automation","chatgpt","claude","css-selector","dom","dom-parser","extraction","iframe","interactive","llm","mcp","model-context-protocol","openai","playwright","puppeteer","selector","semantic","shadow-dom","token-efficient","userscript","web-ai","web-scraping","xpath"],"repository":{"url":"git+https://github.com/WebMCP-org/npm-packages.git","type":"git","directory":"packages/smart-dom-reader"},"description":"Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation","maintainers":[{"name":"osigvelo","email":"omar@sigvelo.com"},{"name":"miguelspizza","email":"alexmnahas@gmail.com"}],"readme":"# @mcp-b/smart-dom-reader\n\n> Token-efficient DOM extraction for AI agents - Extract interactive elements, semantic structure, and stable CSS selectors for LLM-powered browser automation\n\n[![npm version](https://img.shields.io/npm/v/@mcp-b/smart-dom-reader?style=flat-square)](https://www.npmjs.com/package/@mcp-b/smart-dom-reader)\n[![npm downloads](https://img.shields.io/npm/dm/@mcp-b/smart-dom-reader?style=flat-square)](https://www.npmjs.com/package/@mcp-b/smart-dom-reader)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue?style=flat-square)](https://www.typescriptlang.org/)\n[![Zero Dependencies](https://img.shields.io/badge/Dependencies-0-green?style=flat-square)](https://bundlephobia.com/package/@mcp-b/smart-dom-reader)\n\n**[Reference](https://docs.mcp-b.ai/packages/smart-dom-reader/reference)** | **[How-To Guides](https://docs.mcp-b.ai/how-to/index)**\n\n**@mcp-b/smart-dom-reader** extracts DOM structure optimized for AI/LLM consumption. Get stable CSS selectors, interactive elements, and semantic page structure while minimizing token usage. Perfect for AI-powered browser automation, userscript generation, and web scraping with Claude, ChatGPT, or any LLM.\n\n## Why Use @mcp-b/smart-dom-reader?\n\n| Feature                 | Benefit                                                                          |\n| ----------------------- | -------------------------------------------------------------------------------- |\n| **Token-Efficient**     | Progressive extraction minimizes LLM context window usage                        |\n| **Stable Selectors**    | Ranked CSS selectors (ID > data-testid > ARIA > classes) for reliable automation |\n| **AI-Optimized Output** | Structured data designed for LLM understanding                                   |\n| **Zero Dependencies**   | Lightweight, runs in any browser environment                                     |\n| **Shadow DOM Support**  | Traverses shadow roots and iframes                                               |\n| **Stateless API**       | Works with any document context - Puppeteer, Playwright, browser extensions      |\n\n## Use Cases\n\n- **AI Browser Automation**: Generate robust selectors for Puppeteer/Playwright scripts\n- **Userscript Generation**: LLMs create browser automation scripts with stable selectors\n- **Web Scraping**: Extract structured data with semantic context for AI processing\n- **Test Automation**: Generate reliable test selectors with multiple fallback strategies\n- **Accessibility Analysis**: Extract ARIA labels, roles, and semantic landmarks\n\n## Key Features\n\n- **Two extraction approaches**: Progressive (step-by-step) and Full (single-pass)\n- **Stateless architecture**: All functions accept document/element parameters\n- **Multiple selector strategies**: CSS, XPath, text-based, data-testid\n- **Smart content detection**: Automatically identifies main content areas\n- **Context preservation**: Maintains element relationships and semantic context\n- **Shadow DOM & iframe support**: Traverses complex DOM structures\n- **Token-efficient**: Optimized for LLM context windows\n\n## Installation\n\n```bash\nnpm install @mcp-b/smart-dom-reader\n```\n\n## Two Extraction Approaches\n\n### 1. Full Extraction (SmartDOMReader)\n\n**When to use:** You need all information upfront and have sufficient token budget for processing the complete output. Best for automation, testing, and scenarios where you know exactly what you need.\n\n```typescript\nimport { SmartDOMReader } from '@mcp-b/smart-dom-reader';\n\n// Pass document explicitly - no window dependency\nconst doc = document; // or any Document object\n\n// Interactive mode - extract only interactive elements\nconst interactiveData = SmartDOMReader.extractInteractive(doc);\n\n// Full mode - extract interactive + semantic elements\nconst fullData = SmartDOMReader.extractFull(doc);\n\n// Custom options\nconst customData = SmartDOMReader.extractInteractive(doc, {\n  mainContentOnly: true,\n  viewportOnly: true,\n  includeHidden: false,\n});\n```\n\n### 2. Progressive Extraction (ProgressiveExtractor)\n\n**When to use:** Working with AI/LLMs where token efficiency is critical. Allows making intelligent decisions at each step rather than extracting everything upfront.\n\n```typescript\nimport { ProgressiveExtractor } from '@mcp-b/smart-dom-reader';\n\n// Step 1: Get high-level page structure (minimal tokens)\n// Structure can be extracted from the whole document or a specific container element\nconst structure = ProgressiveExtractor.extractStructure(document);\nconsole.log(structure.summary); // Quick stats about the page\nconsole.log(structure.regions); // Map of page regions\nconsole.log(structure.suggestions); // AI-friendly hints\n\n// Step 2: Extract details from specific region based on structure\nconst mainContent = ProgressiveExtractor.extractRegion(\n  structure.summary.mainContentSelector,\n  document,\n  { mode: 'interactive' }\n);\n\n// Step 3: Extract readable content from a region\nconst articleText = ProgressiveExtractor.extractContent('article.main-article', document, {\n  includeHeadings: true,\n  includeLists: true,\n});\n\n// Structure scoped to a container (e.g., navigation only)\nconst nav = document.querySelector('nav');\nif (nav) {\n  const navOutline = ProgressiveExtractor.extractStructure(nav);\n  // navOutline.regions will only include elements within <nav>\n}\n```\n\n## Extraction Modes\n\n### Interactive Mode\n\nFocuses on elements users can interact with:\n\n- Buttons and button-like elements\n- Links\n- Form inputs (text, select, textarea)\n- Clickable elements with handlers\n- Form structures and associations\n\n### Full Mode\n\nIncludes everything from interactive mode plus:\n\n- Semantic HTML elements (articles, sections, nav)\n- Headings hierarchy\n- Images with alt text\n- Tables and lists\n- Content structure and relationships\n\n## API Comparison\n\n### Full Extraction API\n\n```typescript\n// Class-based with options\nconst reader = new SmartDOMReader({\n  mode: 'interactive',\n  mainContentOnly: true,\n  viewportOnly: false,\n});\nconst result = reader.extract(document);\n\n// Static methods for convenience\nSmartDOMReader.extractInteractive(document);\nSmartDOMReader.extractFull(document);\nSmartDOMReader.extractFromElement(element, 'interactive');\n```\n\n### Progressive Extraction API\n\n```typescript\n// Step 1: Structure overview (Document or Element)\nconst overview = ProgressiveExtractor.extractStructure(document);\n// Returns: regions, forms, summary, suggestions\n\n// Step 2: Region extraction\nconst region = ProgressiveExtractor.extractRegion(selector, document, options);\n// Returns: Full SmartDOMResult for that region\n\n// Step 3: Content extraction\nconst content = ProgressiveExtractor.extractContent(selector, document, { includeMedia: true });\n// Returns: Text content, headings, lists, tables, media\n```\n\n## Output Structure\n\nBoth approaches return structured data optimized for AI processing:\n\n```typescript\ninterface SmartDOMResult {\n  mode: 'interactive' | 'full';\n  timestamp: number;\n\n  page: {\n    url: string;\n    title: string;\n    hasErrors: boolean;\n    isLoading: boolean;\n    hasModals: boolean;\n    hasFocus?: string;\n  };\n\n  landmarks: {\n    navigation: string[];\n    main: string[];\n    forms: string[];\n    headers: string[];\n    footers: string[];\n    articles: string[];\n    sections: string[];\n  };\n\n  interactive: {\n    buttons: ExtractedElement[];\n    links: ExtractedElement[];\n    inputs: ExtractedElement[];\n    forms: FormInfo[];\n    clickable: ExtractedElement[];\n  };\n\n  semantic?: {\n    // Only in full mode\n    headings: ExtractedElement[];\n    images: ExtractedElement[];\n    tables: ExtractedElement[];\n    lists: ExtractedElement[];\n    articles: ExtractedElement[];\n  };\n\n  metadata?: {\n    // Only in full mode\n    totalElements: number;\n    extractedElements: number;\n    mainContent?: string;\n    language?: string;\n  };\n}\n```\n\n## Element Information\n\nEach extracted element includes comprehensive selector strategies with ranking (stable-first):\n\n```typescript\ninterface ExtractedElement {\n  tag: string;\n  text: string;\n\n  selector: {\n    css: string; // Best CSS selector (ranked stable-first)\n    xpath: string; // XPath selector\n    textBased?: string; // Text-content based hint\n    dataTestId?: string; // data-testid if available\n    ariaLabel?: string; // ARIA label if available\n    candidates?: Array<{\n      type:\n        | 'id'\n        | 'data-testid'\n        | 'role-aria'\n        | 'name'\n        | 'class-path'\n        | 'css-path'\n        | 'xpath'\n        | 'text';\n      value: string;\n      score: number; // Higher = more stable/robust\n    }>;\n  };\n\n  attributes: Record<string, string>;\n\n  context: {\n    nearestForm?: string;\n    nearestSection?: string;\n    nearestMain?: string;\n    nearestNav?: string;\n    parentChain: string[];\n  };\n\n  // Compact flags: only present when true to save tokens\n  interaction: {\n    click?: boolean;\n    change?: boolean;\n    submit?: boolean;\n    nav?: boolean;\n    disabled?: boolean;\n    hidden?: boolean;\n    role?: string; // aria role when present\n    form?: string; // associated form selector\n  };\n}\n```\n\n## Options\n\n| Option             | Type                      | Default         | Description                     |\n| ------------------ | ------------------------- | --------------- | ------------------------------- |\n| `mode`             | `'interactive' \\| 'full'` | `'interactive'` | Extraction mode                 |\n| `maxDepth`         | `number`                  | `5`             | Maximum traversal depth         |\n| `includeHidden`    | `boolean`                 | `false`         | Include hidden elements         |\n| `includeShadowDOM` | `boolean`                 | `true`          | Traverse shadow DOM             |\n| `includeIframes`   | `boolean`                 | `false`         | Traverse iframes                |\n| `viewportOnly`     | `boolean`                 | `false`         | Only visible viewport elements  |\n| `mainContentOnly`  | `boolean`                 | `false`         | Focus on main content area      |\n| `customSelectors`  | `string[]`                | `[]`            | Additional selectors to extract |\n\n## Use Cases\n\n### AI Userscript Generation (Progressive Approach)\n\n```typescript\n// First, understand the page structure\nconst structure = ProgressiveExtractor.extractStructure(document);\n\n// AI decides which region to focus on based on structure\nconst targetRegion = structure.regions.main?.selector || 'body';\n\n// Extract detailed information from chosen region\nconst details = ProgressiveExtractor.extractRegion(targetRegion, document, {\n  mode: 'interactive',\n  viewportOnly: true,\n});\n\n// Generate userscript prompt with focused context\nconst prompt = `\n  Page: ${details.page.title}\n  Main form: ${details.interactive.forms[0]?.selector}\n  Submit button: ${details.interactive.buttons.find((b) => b.text.includes('Submit'))?.selector.css}\n  \n  Write a userscript to auto-fill and submit this form.\n`;\n```\n\n### Test Automation (Full Extraction)\n\n```typescript\n// Get all interactive elements at once\nconst testData = SmartDOMReader.extractInteractive(document, {\n  customSelectors: ['[data-test]', '[data-cy]'],\n});\n\n// Use multiple selector strategies for robust testing\ntestData.interactive.buttons.forEach((button) => {\n  console.log(`Button: ${button.text}`);\n  console.log(`  CSS: ${button.selector.css}`);\n  console.log(`  XPath: ${button.selector.xpath}`);\n  console.log(`  TestID: ${button.selector.dataTestId}`);\n  console.log(`  Ranked candidates:`, button.selector.candidates?.slice(0, 3));\n});\n```\n\n### Content Analysis (Progressive Approach)\n\n```typescript\n// Get structure first\nconst structure = ProgressiveExtractor.extractStructure(document);\n\n// Extract readable content from main area\nconst content = ProgressiveExtractor.extractContent(\n  structure.summary.mainContentSelector || 'main',\n  document,\n  { includeHeadings: true, includeTables: true }\n);\n\nconsole.log(`Word count: ${content.metadata.wordCount}`);\nconsole.log(`Headings: ${content.text.headings?.length}`);\nconsole.log(`Has interactive elements: ${content.metadata.hasInteractive}`);\n```\n\n## Stateless Architecture\n\nAll methods are stateless and accept document/element parameters explicitly:\n\n```typescript\n// No window or document globals required\nfunction extractFromIframe(iframe: HTMLIFrameElement) {\n  const iframeDoc = iframe.contentDocument;\n  if (iframeDoc) {\n    return SmartDOMReader.extractInteractive(iframeDoc);\n  }\n}\n\n// Works with any document context\nfunction extractFromShadowRoot(shadowRoot: ShadowRoot) {\n  const container = shadowRoot.querySelector('.container');\n  if (container) {\n    return SmartDOMReader.extractFromElement(container);\n  }\n}\n\n/**\n * Stateless bundle string (for extensions / userScripts)\n *\n * The library also provides a self-contained IIFE bundle as a string\n * export that can be injected and executed without touching window scope.\n */\nimport { SMART_DOM_READER_BUNDLE } from '@mcp-b/smart-dom-reader/bundle-string';\n\nfunction execute(method, args) {\n  const code = `(() => {\\n${SMART_DOM_READER_BUNDLE}\\nreturn SmartDOMReaderBundle.executeExtraction(${JSON.stringify(\n    'extractStructure'\n  )}, ${JSON.stringify({ selector: undefined, formatOptions: { detail: 'summary' } })});\\n})()`;\n  // inject `code` into the page (e.g., chrome.userScripts.execute)\n}\n\n// The bundle is self-contained; there are no runtime imports.\n```\n\n## Design Philosophy\n\nThis library is designed to provide:\n\n1. **Token Efficiency**: Progressive extraction minimizes token usage for AI applications\n2. **Flexibility**: Choose between complete extraction or step-by-step approach\n3. **Statelessness**: No global dependencies, works in any JavaScript environment\n4. **Multiple Selector Strategies**: Robust element targeting with fallbacks\n5. **Semantic Understanding**: Preserves meaning and relationships\n6. **Interactive Focus**: Prioritizes elements users interact with\n7. **Context Preservation**: Maintains element relationships\n8. **Framework Agnostic**: Works with any web application\n\n## Frequently Asked Questions\n\n### How is this different from Cheerio or jsdom?\n\nThis library is **AI-optimized**:\n\n- Outputs structured data designed for LLM consumption\n- Provides ranked selectors with stability scores\n- Progressive extraction minimizes token usage\n- Preserves semantic context (landmarks, forms, interactivity)\n\n### Can I use this with Puppeteer/Playwright?\n\nYes! The library is stateless - pass any `document` object:\n\n```typescript\nconst page = await browser.newPage();\nawait page.goto('https://example.com');\nconst result = await page.evaluate(() => {\n  return SmartDOMReader.extractInteractive(document);\n});\n```\n\n### How do selector rankings work?\n\nSelectors are ranked by stability (higher = more reliable):\n\n1. **ID selectors** (score: 100) - `#unique-id`\n2. **data-testid** (score: 90) - `[data-testid=\"submit\"]`\n3. **ARIA** (score: 80) - `[role=\"button\"][aria-label=\"Submit\"]`\n4. **Name/ID attributes** (score: 70) - `input[name=\"email\"]`\n5. **Class paths** (score: 50) - `.form-container .submit-btn`\n\n### Does it handle Shadow DOM?\n\nYes! Set `includeShadowDOM: true` to traverse shadow roots.\n\n### What's the token overhead vs raw HTML?\n\nProgressive extraction can reduce token usage by 80-95% compared to raw HTML, depending on the page and what you extract.\n\n## Comparison with Alternatives\n\n| Feature             | @mcp-b/smart-dom-reader | Cheerio    | jsdom     | Raw DOM |\n| ------------------- | ----------------------- | ---------- | --------- | ------- |\n| AI-Optimized Output | Yes                     | No         | No        | No      |\n| Ranked Selectors    | Yes                     | No         | No        | No      |\n| Token Efficiency    | Progressive             | N/A        | N/A       | N/A     |\n| Shadow DOM          | Yes                     | No         | Limited   | Yes     |\n| Browser Environment | Native                  | Parse only | Simulated | Native  |\n| Zero Dependencies   | Yes                     | No         | No        | Yes     |\n\n## Credits\n\nInspired by:\n\n- [stacking-contexts-inspector](https://github.com/andreadev-it/stacking-contexts-inspector) - DOM traversal techniques\n- [dom-to-semantic-markdown](https://github.com/romansky/dom-to-semantic-markdown) - Content scoring algorithms\n- [z-context](https://github.com/gwwar/z-context) - Selector generation approaches\n\n## Related Packages\n\n- [`@mcp-b/global`](https://docs.mcp-b.ai/packages/global/reference) - Full MCP-B browser runtime\n- [`@mcp-b/transports`](https://docs.mcp-b.ai/packages/transports/reference) - Browser-specific MCP transports\n- [`chrome-devtools-mcp`](https://github.com/ChromeDevTools/chrome-devtools-mcp) - Upstream Chrome DevTools MCP server\n- [`@modelcontextprotocol/server`](https://www.npmjs.com/package/@modelcontextprotocol/server) - Official MCP TypeScript SDK v2 server used by `@mcp-b/smart-dom-reader-server`\n\n## Resources\n\n- [WebMCP Documentation](https://docs.mcp-b.ai)\n- [Model Context Protocol Spec](https://modelcontextprotocol.io)\n- [MCP GitHub Repository](https://github.com/modelcontextprotocol)\n\n## License\n\nMIT - see [LICENSE](../../LICENSE) for details\n\n## Support\n\n- [GitHub Issues](https://github.com/WebMCP-org/npm-packages/issues)\n- [Documentation](https://docs.mcp-b.ai)\n- [Discord Community](https://discord.gg/a9fBR6Bw)\n\n## MCP Server (Golden Path)\n\nFor AI agents, use the bundled MCP server which returns XML-wrapped Markdown instead of JSON. This keeps responses concise and readable for LLMs while providing clear structural boundaries.\n\n- Output format: always XML envelope with a single section tag containing Markdown in CDATA\n  - Structure: `<page title=\"...\" url=\"...\">\\n  <outline><![CDATA[ ...markdown... ]]></outline>\\n</page>`\n  - Region: `<page ...>\\n  <section><![CDATA[ ...markdown... ]]></section>\\n</page>`\n  - Content: `<page ...>\\n  <content><![CDATA[ ...markdown... ]]></content>\\n</page>`\n- Golden path sequence:\n  1. `dom_extract_structure` → get page outline and pick a target\n  2. `dom_extract_region` → get actionable selectors for that area\n  3. Write a script; if unstable, re-run with higher detail or limits\n  4. Optional: `dom_extract_content` for readable text context\n\n### Running the server\n\nEnsure the library is built so the formatter is available:\n\n```\npnpm -w --filter @mcp-b/smart-dom-reader run build\n```\n\nBuild and update the embedded bundle, then start the MCP server (stdio):\n\n```\npnpm --filter @mcp-b/smart-dom-reader bundle:mcp\npnpm --filter @mcp-b/smart-dom-reader-server run start\n```\n\nOr directly with tsx:\n\n```\ntsx smart-dom-reader/mcp-server/src/index.ts\n```\n\n### Tool overview (inputs only)\n\n- `browser_connect` → `{ headless?: boolean, executablePath?: string }`\n- `browser_navigate` → `{ url: string }`\n- `dom_extract_structure` → `{ selector?: string, detail?: 'summary'|'region'|'deep', maxTextLength?: number, maxElements?: number }`\n- `dom_extract_region` → `{ selector: string, options?: { mode?: 'interactive'|'full', includeHidden?: boolean, maxDepth?: number, detail?: 'summary'|'region'|'deep', maxTextLength?: number, maxElements?: number } }`\n- `dom_extract_content` → `{ selector: string, options?: { includeHeadings?: boolean, includeLists?: boolean, includeMedia?: boolean, maxTextLength?: number, detail?: 'summary'|'region'|'deep', maxElements?: number } }`\n- `dom_extract_interactive` → `{ selector?: string, options?: { viewportOnly?: boolean, maxDepth?: number, detail?: 'summary'|'region'|'deep', maxTextLength?: number, maxElements?: number } }`\n- `browser_screenshot` → `{ path?: string, fullPage?: boolean }`\n- `browser_close` → `{}`\n\nAll extraction tools return XML-wrapped Markdown with a short “Next:” instruction at the bottom to guide the following step.\n\n## Local Testing (Playwright)\n\nRun the library in a real browser against local HTML (no network):\n\n```\npnpm --filter @mcp-b/smart-dom-reader bundle:mcp\npnpm --filter @mcp-b/smart-dom-reader test:local\n```\n\nWhat it validates:\n\n- Stable selectors (ID, data-testid, role+aria, name/id)\n- Semantic extraction (headings/images/tables/lists)\n- Shadow DOM detection\n","readmeFilename":"README.md"}