{"_id":"@anycrawl/js-sdk","_rev":"9-4171c55039a51372baa0d7435a0e58c6","name":"@anycrawl/js-sdk","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@anycrawl/js-sdk","version":"0.0.1","_id":"@anycrawl/js-sdk@0.0.1","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"dist":{"shasum":"57bbf33874f83cc50f356c0de33564346549f6a0","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.1.tgz","fileCount":19,"integrity":"sha512-NnLOdzgsXv+L8wdgFwV8Unmt8EotKQExmu9RQKIHMikKx4aXKux55oSYfxSSen2B/viK1FrIogKVRP3pf9wruA==","signatures":[{"sig":"MEUCIQDKS3nV4QD0GRT1qdfCc8mFzIYMWcisIVqCCnyuIxmz4QIgacWBZ03oT/Ag7H/DiHVg8P3ExCimmepX8u9vRn7ysGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81978},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"81a5b7623cba808bcdf7bc113eb96a13f994f582","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --detectOpenHandles --forceExit","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --detectOpenHandles --forceExit"},"_npmUser":{"name":"ntbperst","email":"ntbperst@outlook.com"},"_npmVersion":"10.8.2","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.1_1757789413954_0.11625241014562904","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@anycrawl/js-sdk","version":"0.0.2","_id":"@anycrawl/js-sdk@0.0.2","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"dist":{"shasum":"624a31620327ee7a10f9f3d5ca61cce754155613","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.2.tgz","fileCount":35,"integrity":"sha512-/ADF3I/WG8mNr7rqPhIAHHrr5cvrkzWUaT2wF9krbsJ4TT48jxWUet8S+TjvkCNx4agrHH01uTrYDsICgpUxlQ==","signatures":[{"sig":"MEQCIH3yCN2dPeWqdQkY24fyAGHNzvRFwwSl28bCwJo7g6C+AiAMm6yi8ersidBTvTC7/TQrGdmfovL6CNXBrqb9roKVnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"7b0fdff81d40a8f93fa1945a2e4789065eb1988a","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --detectOpenHandles --forceExit","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --detectOpenHandles --forceExit"},"_npmUser":{"name":"ntbperst","email":"ntbperst@outlook.com"},"_npmVersion":"10.8.2","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.2_1757825969063_0.05216544733610862","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@anycrawl/js-sdk","version":"0.0.3","_id":"@anycrawl/js-sdk@0.0.3","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"dist":{"shasum":"4b326147d818c1dc5ada496c6682bea35b847747","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.3.tgz","fileCount":35,"integrity":"sha512-yeeY9+NhW8rt8524icQ8PkezSOHc0QeBjPGoo58VvEfk7RfMf7iNk8zjNgSn1MHi0CvMBNR0y9gLmnY2Z+JtfQ==","signatures":[{"sig":"MEUCIQDziZjggrJ9MDPO4hQ+aEVNFq9eh8YZJMjU234RuzZUIQIgNt2VbI+dUxkb5OJGqtej6wx08zlDyXKMMPNlvpl96C4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93875},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c18901f5ae92307d1301f4c029696c6f97bf443f","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --detectOpenHandles --forceExit","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --detectOpenHandles --forceExit"},"_npmUser":{"name":"ntbperst","email":"ntbperst@outlook.com"},"_npmVersion":"10.8.2","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.3_1757872639771_0.05716912089221493","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@anycrawl/js-sdk","version":"0.0.4","_id":"@anycrawl/js-sdk@0.0.4","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"homepage":"https://github.com/any4ai/AnyCrawl#readme","bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"dist":{"shasum":"516e3fd59faf272af4662632d6d8aa6317d521bb","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.4.tgz","fileCount":50,"integrity":"sha512-qJ9eiCyBtoSJ4vOK2fuJf/d3Q7XeoWM6ScQ/UkAIU4LfU+g6pEreSfj2KNa5neGSAOBaVzyxivmeqm3Yy/fM5Q==","signatures":[{"sig":"MEQCIBbGUot3D60ts1EdFKGtfSuVmZXuGtkQlWw6OVjiSyJuAiB/d52YkzCy5nQX5XS1sTKudQoxSzO8uOlrawJz58a9Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anycrawl%2fjs-sdk@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":209849},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"f3b27aced9996c63a96b4ff998fb82488f919c24","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathPattern='e2e\\.live' --detectOpenHandles --forceExit","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e0ccdadb-d7a7-4bdb-b5f2-4e8f72fc59dc"}},"repository":{"url":"git+https://github.com/any4ai/AnyCrawl.git","type":"git"},"_npmVersion":"11.11.1","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@dotenv-run/cli":"^1.3.6","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.4_1773759452020_0.39525074170702124","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@anycrawl/js-sdk","version":"0.0.5","_id":"@anycrawl/js-sdk@0.0.5","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"homepage":"https://github.com/any4ai/AnyCrawl#readme","bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"dist":{"shasum":"53c2742c41ae4bed289bff80ca5e58e0c58dc3c1","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.5.tgz","fileCount":50,"integrity":"sha512-C5ab0MGDlayAJVADT4hvg9cCLtfZRUkOHpPZaij1WqtOzoSR7+KcF4OTNQKswuXpU9lY2g93wBbg789M5wPRiw==","signatures":[{"sig":"MEYCIQDeCE5uLGzy+elyRGgBxb2BeI5O1a24gF3H+SG+tX4fowIhAIqhY7sb70Gm0P/FuzYxvG8G1Ip8qGX3OqqoEeL6kuOE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anycrawl%2fjs-sdk@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210017},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"34fb8026c5d80f242cf76d2d1c1d824137f30531","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathPattern='e2e\\.live' --detectOpenHandles --forceExit","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e0ccdadb-d7a7-4bdb-b5f2-4e8f72fc59dc"}},"repository":{"url":"git+https://github.com/any4ai/AnyCrawl.git","type":"git"},"_npmVersion":"11.12.0","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@dotenv-run/cli":"^1.3.6","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.5_1773953977978_0.5447395291608881","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@anycrawl/js-sdk","version":"0.0.6","_id":"@anycrawl/js-sdk@0.0.6","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"homepage":"https://github.com/any4ai/AnyCrawl#readme","bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"dist":{"shasum":"c91d3d02a39fc5a7423ad451ee7f8e85529605aa","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.6.tgz","fileCount":54,"integrity":"sha512-N7+z/CtsfDIpPlobXYfp85PE0ZWtCUTnUGbmYwBtJuEoZsAQk3awI28lo3d2NzK/gXWCeuAfBz3jhJDOCMIOsw==","signatures":[{"sig":"MEQCICHDJK+HkTsuT5X0lIN7hrbtx0sQ53As4aSigXtT5p6LAiBbDQvX/DjpdWn5tQJEdlLrzGyMMQC8iegBLzcTNlU5mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anycrawl%2fjs-sdk@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236598},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9210f379f9d0731a51bf253f21ea358d813ace6b","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathPattern='e2e\\.live' --detectOpenHandles --forceExit","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e0ccdadb-d7a7-4bdb-b5f2-4e8f72fc59dc"}},"repository":{"url":"git+https://github.com/any4ai/AnyCrawl.git","type":"git"},"_npmVersion":"12.0.1","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@dotenv-run/cli":"^1.3.6","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.6_1784303953247_0.07032530609448173","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@anycrawl/js-sdk","version":"0.0.7","_id":"@anycrawl/js-sdk@0.0.7","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"homepage":"https://github.com/any4ai/AnyCrawl#readme","bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"dist":{"shasum":"61ee19abb6a1b35c67b53e4d6a8f3e0cc114403d","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.7.tgz","fileCount":58,"integrity":"sha512-20Wt77iPo33VFw9WBF9t8pLRjfdHmkb6cnW7GfqFgZC7rz183PA55PAwtjT/jWmJ8d1tkt0O7fAhOfqBqCHSow==","signatures":[{"sig":"MEUCIQDzQZCEWWAOIne7752aHoFhYNLKbYUZ7aoHMa9M64biMgIgNJW30rAYqxHStPVNvvowaUcMvvRC4I8NItv6j3aziP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anycrawl%2fjs-sdk@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260051},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c95a2a22d855742c77d83adfa32f4448d4696cf9","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathPattern='e2e\\.live' --detectOpenHandles --forceExit","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e0ccdadb-d7a7-4bdb-b5f2-4e8f72fc59dc"}},"repository":{"url":"git+https://github.com/any4ai/AnyCrawl.git","type":"git"},"_npmVersion":"12.0.2","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@dotenv-run/cli":"^1.3.6","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.7_1785954834111_0.6924259577550083","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@anycrawl/js-sdk","version":"0.0.8","_id":"@anycrawl/js-sdk@0.0.8","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"homepage":"https://github.com/any4ai/AnyCrawl#readme","bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"dist":{"shasum":"3010c4a55357f8b95eff6bf38c3559b6bfae7b12","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.8.tgz","fileCount":62,"integrity":"sha512-LRTFAaVUuMQY4QvTTjkZTm1h6JM5HXT2UfXuTNYgftzyRtgpOK4RRgPm6OSBkrZpdjMzz1w3ZC7Xkvksa5bpQg==","signatures":[{"sig":"MEQCIGbpYaXqGW3cv7JhK5prOhFEncLEfRS7835hHzHdYFokAiBlcD7ddBWNFzhmyJgzPZJa0dew//CDvzs5cmX/7wI3uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anycrawl%2fjs-sdk@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"689dc5be610b5c0bc422f08c50cbb6f700f34f92","private":false,"scripts":{"dev":"tsc --watch","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","test:e2e":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathPattern='e2e\\.live' --detectOpenHandles --forceExit","typecheck":"tsc --noEmit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e0ccdadb-d7a7-4bdb-b5f2-4e8f72fc59dc"}},"repository":{"url":"git+https://github.com/any4ai/AnyCrawl.git","type":"git"},"_npmVersion":"12.0.2","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"axios":"^1.7.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.3.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.7.4","@jest/globals":"^29.7.0","@dotenv-run/cli":"^1.3.6","@anycrawl/typescript-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.8_1786473183199_0.27403635044980246","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@anycrawl/js-sdk","version":"0.0.9","repository":{"type":"git","url":"git+https://github.com/any4ai/AnyCrawl.git"},"type":"module","private":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","test:watch":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --watch --detectOpenHandles","test:coverage":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --coverage --testPathIgnorePatterns='e2e\\.live' --detectOpenHandles --forceExit","test:e2e":"NODE_OPTIONS=--experimental-vm-modules dotenv-run -r ../.. -- jest --testPathPattern='e2e\\.live' --detectOpenHandles --forceExit"},"dependencies":{"axios":"^1.7.7"},"devDependencies":{"@dotenv-run/cli":"^1.3.6","typescript":"^5.7.2","@jest/globals":"^29.7.0","@anycrawl/typescript-config":"workspace:*","jest":"^29.7.0","@types/jest":"^29.5.14","ts-jest":"^29.3.2","@types/node":"^22.7.4"},"gitHead":"f91f5e37cb00a2e9cdddfabb789ab8a81ae43784","_id":"@anycrawl/js-sdk@0.0.9","description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"homepage":"https://github.com/any4ai/AnyCrawl#readme","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-4knJH/dqDZgG3iacvPNXKlfdmCOH4t+2zgjW8w/+t9bwDeraiIqlyNBDcGgE3ZV1XfyZ+1JrwdLgWA+DQSwpEg==","shasum":"cc6a97f63c2593c3e61be318a6045bd7191b3f25","tarball":"https://registry.npmjs.org/@anycrawl/js-sdk/-/js-sdk-0.0.9.tgz","fileCount":63,"unpackedSize":300309,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anycrawl%2fjs-sdk@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA2+WHTSgBigsV3aJ+MieYT8GNouhPNaFa6TWpZzgHPlAiEAtQr99sOjhd+/hdqpS0mfAK6EUzOyTmadovv2G4H70Zc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e0ccdadb-d7a7-4bdb-b5f2-4e8f72fc59dc"}},"directories":{},"maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/js-sdk_0.0.9_1788764760005_0.0389312399512749"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-13T18:50:13.846Z","modified":"2026-09-07T07:06:00.507Z","0.0.1":"2025-09-13T18:50:14.121Z","0.0.2":"2025-09-14T04:59:29.248Z","0.0.3":"2025-09-14T17:57:19.992Z","0.0.4":"2026-03-17T14:57:32.208Z","0.0.5":"2026-03-19T20:59:38.121Z","0.0.6":"2026-07-17T15:59:13.396Z","0.0.7":"2026-08-05T18:33:54.269Z","0.0.8":"2026-08-11T18:33:03.389Z","0.0.9":"2026-09-07T07:06:00.151Z"},"bugs":{"url":"https://github.com/any4ai/AnyCrawl/issues"},"homepage":"https://github.com/any4ai/AnyCrawl#readme","repository":{"type":"git","url":"git+https://github.com/any4ai/AnyCrawl.git"},"description":"A lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.","maintainers":[{"name":"ntbperst","email":"ntbperst@outlook.com"}],"readme":"# @anycrawl/js-sdk\n\nA lightweight ESM JavaScript/TypeScript client for the AnyCrawl API.\n\n## Requirements\n\n- Node.js 18+ (Node 20 recommended – matches CI)\n- ESM modules\n\n## Install\n\n```bash\npnpm add @anycrawl/js-sdk\n```\n\n## Quickstart\n\n```ts\nimport { AnyCrawlClient } from \"@anycrawl/js-sdk\";\n\n// Prefer loading from env in your app framework\nconst client = new AnyCrawlClient(process.env.ANYCRAWL_API_KEY || \"<YOUR_API_KEY>\");\n// Base URL defaults to https://api.anycrawl.dev, but you can override:\n// const client = new AnyCrawlClient(process.env.ANYCRAWL_API_KEY!, \"https://api.anycrawl.dev\");\n\n// Health\nawait client.healthCheck(); // -> { status: \"ok\" }\n\n// Scrape (engine defaults to \"auto\" — automatically picks the best engine)\nconst scrape = await client.scrape({\n    url: \"https://example.com\",\n    formats: [\"markdown\"],\n});\n\n// Crawl (async job)\nconst job = await client.createCrawl({\n    url: \"https://anycrawl.dev\",\n    max_depth: 3,\n    strategy: \"same-domain\",\n    limit: 50,\n    scrape_options: { formats: [\"markdown\"] },\n});\nconst status = await client.getCrawlStatus(job.job_id);\nconst page1 = await client.getCrawlResults(job.job_id, 0);\n\n// Cancel if needed\n// await client.cancelCrawl(job.job_id);\n\n// Blocking helper (waits until the crawl finishes and aggregates all pages)\nconst aggregated = await client.crawl(\n    {\n        url: \"https://anycrawl.dev\",\n        max_depth: 3,\n        strategy: \"same-domain\",\n        limit: 50,\n    },\n    2, // poll interval (seconds)\n    10 * 60_000 // optional timeout (ms)\n);\n// aggregated.data contains all results\n\n// Map (discover all URLs from a website)\nconst mapResult = await client.map({\n    url: \"https://anycrawl.dev\",\n    limit: 100,\n    include_subdomains: false,\n    ignore_sitemap: false,\n});\n// mapResult.links contains all discovered URLs\n\n// Search (optionally enrich with scraping)\nconst results = await client.search({\n    query: \"OpenAI ChatGPT\",\n    engine: \"google\",\n    pages: 1,\n    limit: 10,\n    scrape_options: { engine: \"cheerio\", formats: [\"markdown\"] },\n});\n```\n\n## Usage details\n\n### Client\n\n```ts\nnew AnyCrawlClient(apiKey: string, baseUrl = \"https://api.anycrawl.dev\", onAuthFailure?: () => void)\n```\n\n- `apiKey`: Bearer token for API calls.\n- `baseUrl`: Override if self-hosting.\n- `onAuthFailure`: Invoked on 401/403. Useful to trigger sign-out or refresh.\n\nYou can also set `LOG_LEVEL` to control internal logs (`debug`, `info`, `warn`, `error`).\n\n### scrape(input)\n\n```ts\nimport type { Engine, ScrapeFormat } from \"@anycrawl/js-sdk\";\n\nconst engine: Engine = \"auto\"; // or \"cheerio\", \"playwright\", \"puppeteer\"\nconst formats: ScrapeFormat[] = [\"markdown\", \"html\"];\n\nawait client.scrape({\n    url: \"https://example.com\",\n    engine, // optional — defaults to \"auto\"\n    // Optional:\n    template_id: \"my-template\",\n    variables: { key: \"value\" },\n    proxy: \"http://user:pass@host:port\",\n    formats,\n    timeout: 60_000,\n    retry: true,\n    wait_for: 3000,\n    wait_for_selector: \".content\",\n    only_main_content: true,\n    include_tags: [\"article\", \"main\"],\n    exclude_tags: [\"nav\", \"footer\"],\n    json_options: { user_prompt: \"Extract title\", schema: { type: \"object\" } },\n    extract_source: \"markdown\", // or \"html\"\n    ocr_options: false,\n    max_age: 86_400_000,\n    store_in_cache: true,\n});\n```\n\nReturns either a success object with content or a failure with `error`.\n\n### createCrawl(input), getCrawlStatus(jobId), getCrawlResults(jobId, skip?), cancelCrawl(jobId)\n\n```ts\nconst job = await client.createCrawl({\n    url: \"https://site.com/docs\",\n    engine: \"playwright\", // optional — defaults to \"auto\"\n    template_id: \"my-template\",\n    variables: { section: \"api\" },\n    max_depth: 5,\n    strategy: \"same-domain\",\n    limit: 100,\n    include_paths: [\"/docs/*\"],\n    exclude_paths: [\"/admin/*\"],\n    scrape_paths: [\"/docs/*\"], // Only scrape content from these paths\n    scrape_options: { formats: [\"markdown\"] },\n});\n\nconst status = await client.getCrawlStatus(job.job_id);\nconst page = await client.getCrawlResults(job.job_id, 0);\n// await client.cancelCrawl(job.job_id);\n```\n\n### crawl(input, pollIntervalSeconds = 2, timeoutMs?)\n\nConvenience wrapper that creates a crawl, polls status until it completes, and returns aggregated results of all pages. Throws on failed jobs or timeout; returns partial aggregated data when cancelled.\n\n```ts\n// Type signature\nasync function crawl(\n    input: CrawlRequest,\n    pollIntervalSeconds?: number, // default 2s\n    timeoutMs?: number // optional\n): Promise<CrawlAndWaitResult>;\n\n// Example\ntry {\n    const aggregated = await client.crawl(\n        {\n            url: \"https://anycrawl.dev\",\n            max_depth: 3,\n            strategy: \"same-domain\",\n            limit: 50,\n            scrape_options: { formats: [\"markdown\"] },\n        },\n        3, // poll every 3s\n        5 * 60_000 // timeout after 5 minutes\n    );\n    console.log(aggregated.total, aggregated.completed);\n    console.log(aggregated.data.length, \"pages aggregated\");\n} catch (err) {\n    // Handles API/network/auth errors, job failed, or timeout\n    console.error(err);\n}\n```\n\n- Returns: `CrawlAndWaitResult` with `job_id`, `status`, `total`, `completed`, `creditsUsed`, and aggregated `data`.\n- Polling states: waits until `completed`; throws on `failed`; returns partial data when `cancelled`.\n- Use `getCrawlStatus`/`getCrawlResults` if you prefer manual pagination/progress.\n\n### createBatchScrape(input), getBatchScrapeStatus(jobId), getBatchScrapeResults(jobId, skip?), cancelBatchScrape(jobId)\n\nScrape many known URLs in one asynchronous job using a single shared set of scrape options (no link discovery). Credits are charged per successfully scraped URL; failed URLs are not charged.\n\n```ts\nconst job = await client.createBatchScrape({\n    urls: [\"https://example.com/a\", \"https://example.com/b\"],\n    engine: \"auto\", // optional — same scrape options as scrape()\n    formats: [\"markdown\"],\n    // Or use a scrape template applied to every URL:\n    // template_id: \"tpl_product_page\",\n    // variables: { currency: \"USD\" },\n    ignore_invalid_urls: true,\n});\n\nconst status = await client.getBatchScrapeStatus(job.job_id);\nconst page = await client.getBatchScrapeResults(job.job_id, 0);\n// await client.cancelBatchScrape(job.job_id);\n```\n\n### batchScrape(input, pollIntervalSeconds = 2, timeoutMs?)\n\nConvenience wrapper that creates a batch scrape, polls status until it completes, and returns aggregated results of all URLs. Throws on failed jobs or timeout; returns partial aggregated data when cancelled.\n\n```ts\n// Type signature\nasync function batchScrape(\n    input: BatchScrapeRequest,\n    pollIntervalSeconds?: number, // default 2s\n    timeoutMs?: number // optional\n): Promise<BatchScrapeAndWaitResult>;\n\n// Example\nconst result = await client.batchScrape({\n    urls: [\"https://example.com/a\", \"https://example.com/b\"],\n    formats: [\"markdown\"],\n});\nconsole.log(result.completed, result.failed, result.data.length);\n```\n\n- Returns: `BatchScrapeAndWaitResult` with `job_id`, `status`, `total`, `completed`, `failed`, `creditsUsed`, and aggregated `data` (each item carries its own `url`).\n- Polling states: waits until `completed`; throws on `failed`; returns partial data when `cancelled`.\n- Use `getBatchScrapeStatus`/`getBatchScrapeResults` if you prefer manual pagination/progress.\n\n### search(input)\n\n```ts\nawait client.search({\n    query: \"best js tutorials\",\n    engine: \"google\",\n    limit: 20,\n    offset: 0,\n    pages: 2,\n    lang: \"en\",\n    country: \"US\",\n    timeRange: \"week\",\n    sources: \"web\",\n    template_id: \"search-template\",\n    variables: {},\n    scrape_options: { engine: \"cheerio\", formats: [\"markdown\"] },\n    safe_search: 1,\n});\n```\n\n### map(input)\n\n```ts\nawait client.map({\n    url: \"https://example.com\",\n    limit: 100,\n    include_subdomains: false,\n    ignore_sitemap: false,\n});\n```\n\nDiscovers all URLs from a website using multiple sources:\n- Sitemap parsing (sitemap.xml, robots.txt)\n- Search engine results (site: operator)\n- Page link extraction (HTML <a href> tags)\n\nReturns `MapResult` with `links` array containing `{ url, title?, description? }` objects.\n\n### template(ref)\n\nCall a template through its own dedicated endpoint instead of passing `template_id` in a scrape/search/crawl body. `ref` is the template's vanity slug (preferred) or its `templateId`. Returns a small handle bound to `ref` with `execute` and `spec`.\n\n```ts\nconst t = client.template(\"content-extractor\"); // slug or templateId\n\n// Discover the call-spec (free — never billed). Returns TemplateSpec.\nconst spec = await t.spec();\n// spec.template_type -> \"scrape\" | \"search\" | \"crawl\"\n// spec.variables, spec.pricing, spec.allowed_domains, spec.endpoint\n\n// Execute. Body accepts only url / query / variables — every other option\n// comes from the template. Return type depends on the template type.\nconst result = await t.execute({\n    url: \"https://example.com\", // use `query` for search templates\n    variables: { category: \"tech\" },\n});\n```\n\nThe result of `execute()` is `TemplateExecuteResult`, discriminated by the template type:\n\n- **scrape** → `ScrapeResult` (synchronous)\n- **search** → `SearchResult[]` (synchronous)\n- **crawl** → `CrawlJobResponse` (`{ job_id, status, message }`) — async; poll with `client.getCrawlStatus(job_id)` / `client.getCrawlResults(job_id)` (or `client.crawl(...)`)\n\n```ts\n// Crawl template: async job, then poll\nconst job = await client.template(\"docs-crawler\").execute({ url: \"https://docs.example.com\" });\nif (\"job_id\" in job) {\n    const status = await client.getCrawlStatus(job.job_id);\n    const page = await client.getCrawlResults(job.job_id, 0);\n}\n```\n\nErrors mirror the underlying delegated call plus template-specific cases: `404` (template not found or no access), `403` (URL not allowed by the template's domain policy), `400` (missing/invalid variables). See [Error handling](#error-handling).\n\n### Scheduled Tasks\n\n```ts\n// Create\nconst created = await client.createScheduledTask({\n    name: \"Daily scrape\",\n    cron_expression: \"0 9 * * *\",\n    timezone: \"Asia/Shanghai\",\n    task_type: \"scrape\",\n    task_payload: { url: \"https://example.com\", engine: \"cheerio\", formats: [\"markdown\"] },\n    concurrency_mode: \"skip\",\n    max_executions_per_day: 1,\n});\n// created.task_id, created.next_execution_at\n\n// List, get, update, delete\nconst tasks = await client.listScheduledTasks();\nconst task = await client.getScheduledTask(created.task_id);\nawait client.updateScheduledTask(created.task_id, { cron_expression: \"0 10 * * *\" });\nawait client.pauseScheduledTask(created.task_id, \"Maintenance\");\nawait client.resumeScheduledTask(created.task_id);\nawait client.deleteScheduledTask(created.task_id);\n\n// Executions\nconst { data } = await client.getScheduledTaskExecutions(created.task_id, { limit: 10, offset: 0 });\nawait client.cancelScheduledTaskExecution(created.task_id, executionId);\n```\n\n### Webhooks\n\n```ts\n// Create\nconst webhook = await client.createWebhook({\n    name: \"My webhook\",\n    webhook_url: \"https://your-server.com/webhook\",\n    event_types: [\"scrape.completed\", \"crawl.completed\"],\n    scope: \"all\",\n});\n// webhook.webhook_id, webhook.secret (save secret - shown only once)\n\n// List, get, update, delete\nconst webhooks = await client.listWebhooks();\nconst w = await client.getWebhook(webhook.webhook_id);\nawait client.updateWebhook(webhook.webhook_id, { event_types: [\"scrape.completed\"] });\nawait client.deleteWebhook(webhook.webhook_id);\n\n// Deliveries, test, activate/deactivate\nconst { data } = await client.getWebhookDeliveries(webhook.webhook_id, { limit: 20, status: \"failed\" });\nawait client.testWebhook(webhook.webhook_id);\nawait client.activateWebhook(webhook.webhook_id);\nawait client.deactivateWebhook(webhook.webhook_id);\nawait client.replayWebhookDelivery(webhook.webhook_id, deliveryId);\n\n// Supported event types\nconst events = await client.getWebhookEvents();\n// events.event_types, events.categories\n```\n\n### Monitors\n\n```ts\n// Create a webpage change monitor\nconst monitor = await client.createMonitor({\n    name: \"Docs watch\",\n    monitor_type: \"webpage\",\n    cron_expression: \"0 * * * *\",\n    targets: [{ url: \"https://example.com/changelog\", engine: \"auto\" }],\n    diff_options: { only_main_content: true },\n    notify_options: { channels: [\"webhook\"], only_meaningful: true },\n});\n// monitor.monitor_id, monitor.scheduled_task_id, monitor.next_execution_at\n\n// List, get, update, delete\nconst monitors = await client.listMonitors();\nconst m = await client.getMonitor(monitor.monitor_id);\nawait client.updateMonitor(monitor.monitor_id, { cron_expression: \"0 */2 * * *\" });\nawait client.deleteMonitor(monitor.monitor_id);\n\n// Lifecycle and history\nawait client.pauseMonitor(monitor.monitor_id);\nawait client.resumeMonitor(monitor.monitor_id);\nawait client.runMonitor(monitor.monitor_id);\nconst snapshots = await client.getMonitorSnapshots(monitor.monitor_id, { limit: 10 });\nconst changes = await client.getMonitorChanges(monitor.monitor_id, { limit: 10 });\nawait client.getMonitorChange(monitor.monitor_id, changeId);\n```\n\nNotes:\n\n- Engine defaults to `auto` when omitted — the server automatically picks the best engine (`cheerio` for static pages, `playwright` for JS-heavy pages).\n- Scrape options live at top-level; crawl accepts nested `scrape_options` only; top-level only allows crawl strategy fields and optional `retry`.\n- search supports optional `scrape_options`; when provided without `engine`, it is omitted (no per-result scrape enrichment; API defaults to auto when enrichment is used).\n\n## Running E2E tests\n\nLive integration tests hit the real AnyCrawl API and consume credits. They are **not** included in the default `pnpm test` or `pnpm test:coverage` runs.\n\n### Prerequisites\n\n- A valid `ANYCRAWL_API_KEY`\n- Set `ANYCRAWL_RUN_LIVE=1` to opt in (dual gate prevents accidental execution in CI)\n- (Optional) `ANYCRAWL_BASE_URL` to test against a self-hosted instance (defaults to `https://api.anycrawl.dev`)\n\n### Run\n\n```bash\n# Inline env vars\nANYCRAWL_API_KEY=sk-xxx ANYCRAWL_RUN_LIVE=1 pnpm --filter @anycrawl/js-sdk test:e2e\n\n# Or configure in root .env and run:\npnpm --filter @anycrawl/js-sdk test:e2e\n```\n\nThe test suite is organized in tiers by credit cost:\n\n| Tier | Tests | Credit cost |\n|------|-------|-------------|\n| 1 | healthCheck, scrape (cheerio), map | Zero / low |\n| 2 | Multi-engine scrape, search, createCrawl + status | Moderate |\n| 3 | Blocking crawl, cancelCrawl, full pagination flow | Higher |\n| Error | Invalid API key | Zero |\n\n## Error handling\n\nAll methods throw standard `Error` with readable messages. Examples:\n\n- Authentication errors: `Authentication failed: <message>` (401/403) – triggers `onAuthFailure` if provided\n- Payment required: `Payment required: <message>. current_credits=<n>` (402)\n- API errors: `API Error <status>: <message>`\n- Network issues: `Network error: Unable to reach AnyCrawl API`\n- Other request errors: `Request error: <message>`\n\nWrap calls in `try/catch` to handle errors in your app.\n\nNotes:\n\n- Some endpoints return HTTP 2xx with `{ success: false, error?: string }`. The SDK converts these into `Request error: <message>` (e.g., `Request error: Scraping failed`).\n- 401 and 403 are both treated as authentication failures and will invoke `onAuthFailure` when set.\n- For 402, when the response includes `current_credits`, the message is specialized as shown above; otherwise it falls back to `API Error 402: <message>`.\n\n## API surface\n\n**Core**\n- `healthCheck(): Promise<{ status: string }>`\n- `setAuthFailureCallback(cb: () => void): void`\n- `scrape(input: ScrapeRequest): Promise<ScrapeResult>`\n- `createCrawl(input: CrawlRequest): Promise<CrawlJobResponse>`\n- `getCrawlStatus(jobId: string): Promise<CrawlStatusResponse>`\n- `getCrawlResults(jobId: string, skip?: number): Promise<CrawlResultsResponse>`\n- `crawl(input: CrawlRequest, pollIntervalSeconds?: number, timeoutMs?: number): Promise<CrawlAndWaitResult>`\n- `cancelCrawl(jobId: string): Promise<{ job_id: string; status: string }>`\n- `search(input: SearchRequest): Promise<SearchResult[]>`\n- `map(input: MapRequest): Promise<MapResult>`\n- `template(ref: string): { execute(input?: TemplateExecuteRequest): Promise<TemplateExecuteResult>; spec(): Promise<TemplateSpec> }`\n\n**Scheduled Tasks**\n- `createScheduledTask(input): Promise<ScheduledTaskCreateResponse>`\n- `listScheduledTasks(): Promise<ScheduledTask[]>`\n- `getScheduledTask(taskId): Promise<ScheduledTask>`\n- `updateScheduledTask(taskId, input): Promise<ScheduledTask>`\n- `pauseScheduledTask(taskId, reason?): Promise<void>`\n- `resumeScheduledTask(taskId): Promise<void>`\n- `deleteScheduledTask(taskId): Promise<void>`\n- `getScheduledTaskExecutions(taskId, params?): Promise<ScheduledTaskExecutionsResponse>`\n- `cancelScheduledTaskExecution(taskId, executionId): Promise<void>`\n\n**Webhooks**\n- `createWebhook(input): Promise<WebhookCreateResponse>`\n- `listWebhooks(): Promise<Webhook[]>`\n- `getWebhook(webhookId): Promise<Webhook>`\n- `updateWebhook(webhookId, input): Promise<void>`\n- `deleteWebhook(webhookId): Promise<void>`\n- `getWebhookDeliveries(webhookId, params?): Promise<WebhookDeliveriesResponse>`\n- `testWebhook(webhookId): Promise<void>`\n- `activateWebhook(webhookId): Promise<void>`\n- `deactivateWebhook(webhookId): Promise<void>`\n- `replayWebhookDelivery(webhookId, deliveryId): Promise<void>`\n- `getWebhookEvents(): Promise<WebhookEventsResponse>`\n\n**Monitors** (requires `@anycrawl/js-sdk` 0.0.6+)\n- `createMonitor(input): Promise<MonitorCreateResponse>`\n- `listMonitors(): Promise<Monitor[]>`\n- `getMonitor(monitorId): Promise<Monitor>`\n- `updateMonitor(monitorId, input): Promise<Monitor>`\n- `deleteMonitor(monitorId): Promise<void>`\n- `pauseMonitor(monitorId): Promise<void>`\n- `resumeMonitor(monitorId): Promise<void>`\n- `runMonitor(monitorId): Promise<void>`\n- `getMonitorSnapshots(monitorId, params?): Promise<MonitorSnapshot[]>`\n- `getMonitorChanges(monitorId, params?): Promise<MonitorChange[]>`\n- `getMonitorChange(monitorId, changeId): Promise<MonitorChange>`\n\nType definitions are exported from `@anycrawl/js-sdk` for TypeScript users.\n","readmeFilename":"README.md"}