{"_id":"@ghostcrawl/sdk","_rev":"26-bc63a11f37443ab73bda4ecec33f2099","name":"@ghostcrawl/sdk","dist-tags":{"latest":"2.3.5"},"versions":{"2.2.0":{"name":"@ghostcrawl/sdk","version":"2.2.0","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"SEE LICENSE IN LICENSE","_id":"@ghostcrawl/sdk@2.2.0","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"2aa1166d8c91006e47367db2b5d7fcebed377ae9","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.2.0.tgz","fileCount":331,"integrity":"sha512-flKvxMUKZvq2wTQhaNZ+LodAddDKwDjShcaibeD77KRimoEHGSp2CagzFvm3Ni+bmPv0ayd/FwuDAz7PqGu6qg==","signatures":[{"sig":"MEQCIGzRHfflzBARqYSEPmGBq43VxT76PN5KF+6JLAqLmsbCAiAUoiU0bcQhmlLE1RqA/D3A2pbuNOes+x8Rs5z/SDZ8Aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777876},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"15050eb824930ad5dab226416ddebed1a5983765","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.2.0_1782867824857_0.024962839822518346","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@ghostcrawl/sdk","version":"2.2.1","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"SEE LICENSE IN LICENSE","_id":"@ghostcrawl/sdk@2.2.1","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"93bbf52c31a62a45a98a6aed38d5be8d30479ba0","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.2.1.tgz","fileCount":331,"integrity":"sha512-41+M4r9DZgeMUMQufN66uWIxS1tJ5fSRllB4MNfC3r7MXWdxaiDSG9asUplxCaqNY2l/TX9c9y7ADRtjMCuCaQ==","signatures":[{"sig":"MEUCIQCUvDmkJ+blUjVhyxuRhq3syQ4iVx2XR2kyBv2etyUBnQIgKfOOaEAlsAxPV0fZ7PaoOsYk/Vx7CuGVXPTmk+5ZtzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777876},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"15050eb824930ad5dab226416ddebed1a5983765","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.2.1_1782868714748_0.05207589978205829","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@ghostcrawl/sdk","version":"2.2.2","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"SEE LICENSE IN LICENSE","_id":"@ghostcrawl/sdk@2.2.2","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"b9b0dcd31d232edf325ffb276185bedd41439cf9","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.2.2.tgz","fileCount":331,"integrity":"sha512-zAfNMJ1xyK7BkA6+QJhEu5l8ildutOjXFNhfNa/zYlHdb0LplnJAs+KNAmdQuO3AsTG0N8YLprSfb2uyHwf3rA==","signatures":[{"sig":"MEUCIQD/VI+ffOoVP/Mon+hjKHOYsSmWRWkshmkCffJnOVvSPQIgFhUmdsUupzmOSvSx7gVjpCzf8a+3iMKhaOSVukQcdJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":779160},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"15cdab7d92f5df097c034e2a95101141fc8107e5","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.2.2_1782878496726_0.3282734440759434","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@ghostcrawl/sdk","version":"2.2.3","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"SEE LICENSE IN LICENSE","_id":"@ghostcrawl/sdk@2.2.3","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"1f6943982118a68153bfc02751c939b613800fb4","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.2.3.tgz","fileCount":331,"integrity":"sha512-Hcle9RLPfJ0zMc2DlUioQsyzCYfLyeb++57xpfs9RmZz3bE7DCLEOOR81dl35Gfr3aPHgW5SP0PkXVMW9fh0HQ==","signatures":[{"sig":"MEQCIGzRFVwL4Q116dG+sVtVGfpnIQ4CF5TzoFZrP/CwvXpIAiBT8fXvFfv3vrTtBuVENPZFSvsHw+BKxMtZSzybcDTJEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781565},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4c45c9b9aaa946e1515589d0af5cf9344b341bd0","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.2.3_1782940998317_0.9732445362538891","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@ghostcrawl/sdk","version":"2.3.0","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"MIT","_id":"@ghostcrawl/sdk@2.3.0","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"2f0bc40a962e3d562c81bc15e9a248052ed59c04","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.3.0.tgz","fileCount":325,"integrity":"sha512-d2hpMAbPnV0brBBIWHMZTc0bNAZ3JT6paJTWQqhOKKalijNgbverpKN8zYCclQ671qit3Hrh5cH3ewRi1i5GzQ==","signatures":[{"sig":"MEUCIBX6WqBafMeuD0FrAcdKtjH9629mOclnAiZI9dGX6DJ7AiEA8YTw78LpNsmztEDkI9yrKGpx7m+ddnqk4l+1OcGom4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783818},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ba920d4d894f872a2eaa578e15503246d4bca9a0","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.3.0_1784445447993_0.8618629588982656","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"@ghostcrawl/sdk","version":"2.3.1","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"MIT","_id":"@ghostcrawl/sdk@2.3.1","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"981931b480424f3e8102cb9820c13cb67b3c4a96","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.3.1.tgz","fileCount":325,"integrity":"sha512-XVFt2S9egKasjWciiRI85xnmd9KWTAsvEfEYC1ON9ec9pAaYt2EXb+wcbkGiCDmzhj/raX6TCpOCh0/XznAP6w==","signatures":[{"sig":"MEQCIErxglw9+7a8phf3skG5Ks//+ti5pX3+J4X00A2m359cAiAPj/GePouIwxp8R2fKTHYnNTHqUQmGMuRdKHuc1PvARQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":793500},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"cb60555de66d5d1cf1f0d122b6dfbe4a92c32d02","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.3.1_1784598445903_0.1384493048510329","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"@ghostcrawl/sdk","version":"2.3.2","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"MIT","_id":"@ghostcrawl/sdk@2.3.2","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"c94310b37058754a4e55180088fe0a56d1ec3fa6","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.3.2.tgz","fileCount":325,"integrity":"sha512-1yEmzeb1U4rMrlxMuptHBAufGpM6aajInfHGgvdmr3UNB0YHagSq3w+kR/hArdoOlj+k5Xj5OVTysu31H53jag==","signatures":[{"sig":"MEUCIFb/HAsGBwdCt++bkU8Unne9Whkeyh50wiJadA3+9c1MAiEAnRXHJk9RhxbBFTNle62tk9rRJRFIBpOLffF5ACQOMnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":795689},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"529087627d73e2d16f056b8b8057d22435cb95be","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"overrides":{"@hono/node-server":">=2.0.5"},"deprecated":"Superseded — upgrade to >=2.3.3 (leak-scrubbed + GhostCrawl-branded release). Older versions are deprecated.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the Ghostcrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.3.2_1784742828190_0.5270166783345922","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"@ghostcrawl/sdk","version":"2.3.3","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"MIT","_id":"@ghostcrawl/sdk@2.3.3","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"02f2586c5a2aa90c888faa6c60b3e10f205e75cc","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.3.3.tgz","fileCount":325,"integrity":"sha512-MoXa00iLYWMTNubiOlDX9kXxUy6pE2yeH0I+e2uGty0LJ61gd3jFzD0lIsBrmYIiDP1Re0GaKQ77sr9pYhWIdg==","signatures":[{"sig":"MEUCIQDQ7AC16rjOt0aQhn//UHpDQeMa9UfQ/F9PSlCQeGZN+wIgJL8wT+wPdmZ03g9SBWj75TuME/PQUoFOE8ETYXcysrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":795572},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3049f5db6c7428d90638af3f90ba62c7b4e21061","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"overrides":{"@hono/node-server":">=2.0.5"},"deprecated":"Superseded — please upgrade to the latest release.","_npmVersion":"11.12.1","description":"Official Node.js SDK for the GhostCrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.3.3_1784752615976_0.7054698430374653","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"@ghostcrawl/sdk","version":"2.3.4","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"MIT","_id":"@ghostcrawl/sdk@2.3.4","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"dist":{"shasum":"3ef1b4f4c0f00c8f032347d3e8fc7b5d659a71ee","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.3.4.tgz","fileCount":235,"integrity":"sha512-cTKDiKDfiqSLu7Q7zn8xeF5QFJNqKWWq854kI5ao2BxhWYNdcwOrfKH0ZgW/2lE3vQyDFHp/qFkBQ1HY0wYlzg==","signatures":[{"sig":"MEUCIHDIOVcHfRi6Wr9Wg3un6HQ6gmVYWPLt8FV00RoMliE9AiEA7qwnR1cTp6hI6Mq4GXGJnHwbttP3vdDtdPF5yKWQQQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":711965},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"41b549039feff63ba26162e55d5b7a36c9e81027","scripts":{"test":"vitest run","build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"overrides":{"@hono/node-server":">=2.0.5"},"_npmVersion":"11.12.1","description":"Official Node.js SDK for the GhostCrawl orchestration API.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","tsx":"^4.22.4","vitest":"^4.1.6","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_2.3.4_1784771139278_0.7225060536902794","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"@ghostcrawl/sdk","version":"2.3.5","description":"Official Node.js SDK for the GhostCrawl orchestration API.","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"node scripts/gen-version.mjs && rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/postbuild.mjs","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest"},"engines":{"node":">=18.0.0"},"keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"license":"MIT","dependencies":{"@microsoft/kiota-abstractions":"^1.0.0-preview.103","@microsoft/kiota-http-fetchlibrary":"^1.0.0-preview.103","@microsoft/kiota-serialization-form":"^1.0.0-preview.103","@microsoft/kiota-serialization-json":"^1.0.0-preview.103","@microsoft/kiota-serialization-multipart":"^1.0.0-preview.103","@microsoft/kiota-serialization-text":"^1.0.0-preview.103","@modelcontextprotocol/sdk":"^1.29.0"},"devDependencies":{"@types/node":"^22.0.0","msw":"^2.14.6","tsx":"^4.22.4","typescript":"^6.0.3","vitest":"^4.1.6"},"overrides":{"@hono/node-server":">=2.0.5"},"_id":"@ghostcrawl/sdk@2.3.5","_integrity":"sha512-cvx6M48k4z/lTrXZqpcTTNsmnm7qcO1be1Lt0to0fIioXPqAnSv8GRd8eZqw4KznEtJHbOCaai2ZQ/YL+d7t0Q==","_resolved":"/home/koa/Documents/nodom/sdks/node/ghostcrawl-sdk-2.3.5.tgz","_from":"file:sdks/node/ghostcrawl-sdk-2.3.5.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-cvx6M48k4z/lTrXZqpcTTNsmnm7qcO1be1Lt0to0fIioXPqAnSv8GRd8eZqw4KznEtJHbOCaai2ZQ/YL+d7t0Q==","shasum":"549354e194c5a05866c7c3e5128aa8fc40def0ad","tarball":"https://registry.npmjs.org/@ghostcrawl/sdk/-/sdk-2.3.5.tgz","fileCount":235,"unpackedSize":711965,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFOCeRsQrDZZ732ADWuEvbNeXjMcm8GG0pon7327e1U0AiA3dcJ8xofgaKmRSLniSR2pcmYCQukEJu+UaiLJZ4Oo0g=="}]},"_npmUser":{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"},"directories":{},"maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_2.3.5_1785194480421_0.9866832379765818"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T01:03:44.666Z","modified":"2026-07-27T23:21:20.774Z","2.1.1":"2026-06-21T07:45:46.391Z","2.1.2":"2026-06-21T08:16:00.149Z","2.1.3":"2026-06-21T15:36:41.747Z","2.2.0":"2026-07-01T01:03:45.009Z","2.2.1":"2026-07-01T01:18:35.055Z","2.2.2":"2026-07-01T04:01:36.880Z","2.2.3":"2026-07-01T21:23:18.476Z","2.3.0":"2026-07-19T07:17:28.158Z","2.3.1":"2026-07-21T01:47:26.043Z","2.3.2":"2026-07-22T17:53:48.366Z","2.3.3":"2026-07-22T20:36:56.116Z","2.3.4":"2026-07-23T01:45:39.454Z","2.3.5":"2026-07-27T23:21:20.567Z"},"license":"MIT","keywords":["ghostcrawl","sdk","scrape","extract","agent","browser","automation"],"description":"Official Node.js SDK for the GhostCrawl orchestration API.","maintainers":[{"name":"ghostcrawl_ceo","email":"contact@ghostcrawl.io"}],"readme":"# @ghostcrawl/sdk\n\nThe official TypeScript/JavaScript client for the [GhostCrawl](https://ghostcrawl.io) API. Collect web data at scale — scrape, crawl, search, extract structured data, manage browser sessions, and automate the full data-collection pipeline.\n\n- **ESM + CJS dual build** with full `.d.ts` type declarations.\n- **Zero runtime HTTP dependency** — built on `globalThis.fetch` (Node.js 18+).\n- **TypeScript-first**, works from plain JavaScript too.\n\n## Install\n\n```bash\nnpm install @ghostcrawl/sdk\n```\n\nRequires Node.js >= 18.\n\n## Quickstart\n\n```typescript\nimport { createGhostCrawlClient } from \"@ghostcrawl/sdk\";\n\n// Reads GHOSTCRAWL_API_KEY from environment, or pass token: explicitly\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\n// Scrape a URL\nconst result = await client.scrape({ url: \"https://example.com\", format: \"markdown\" });\nconsole.log(result.content);\n\n// Start a crawl and wait for it to finish (event-driven — no poll loop)\nconst run = await client.crawlRuns.start({\n  url: \"https://example.com\",\n  maxDepth: 2,\n  maxPages: 50,\n  wait: true,        // block server-side until the run is terminal\n  timeout: 600,      // seconds (default 300)\n});\nconsole.log(run.status, run.pages_crawled);\n\n// Web search\nconst results = await client.search({ query: \"latest AI research\", engine: \"google\", limit: 10 });\n```\n\n## Crawl runs — wait for completion\n\nA crawl run is asynchronous. Rather than hand-writing a `while` + `sleep` poll loop,\nuse the event-driven wait: it long-polls a server endpoint that **blocks** until the\nrun reaches a terminal state (`completed` | `failed` | `cancelled`), so you get the\nresult the moment it's ready — no client-side timers, no wasted requests.\n\n```typescript\nimport { createGhostCrawlClient, GhostCrawlTimeoutError } from \"@ghostcrawl/sdk\";\n\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\n// Option A — start, then wait on the run id:\nconst { run_id } = await client.crawlRuns.start({ url: \"https://example.com\", maxDepth: 2 });\ntry {\n  const run = await client.crawlRuns.wait(run_id, { timeout: 600 }); // seconds\n  console.log(run.status, run.pages_crawled);\n} catch (err) {\n  if (err instanceof GhostCrawlTimeoutError) {\n    // Still running past our deadline — call wait(run_id) again to resume.\n  } else {\n    throw err;\n  }\n}\n\n// Option B — start and block in a single call:\nconst run = await client.crawlRuns.start({ url: \"https://example.com\", wait: true, timeout: 600 });\nconsole.log(run.status);\n```\n\nFor long crawls, prefer a **webhook** instead of holding a connection open — register\n`client.webhooks.create({ url, event_types: [\"crawl.completed\"] })` and the server calls\nyou back when the run finishes.\n\n## Authentication\n\n```typescript\nimport { createGhostCrawlClient } from \"@ghostcrawl/sdk\";\n\n// Option 1: pass token directly\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\n// Option 2: set environment variable (recommended for production)\nprocess.env.GHOSTCRAWL_API_KEY = \"gck_live_YOUR_KEY\";\nconst client2 = createGhostCrawlClient();\n```\n\nEvery request sends `Authorization: Bearer <token>`. This is the only auth scheme the API accepts.\n\n## Extract structured data\n\n```typescript\nimport { createGhostCrawlClient } from \"@ghostcrawl/sdk\";\n\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\nconst data = await client.extract({\n  url: \"https://example.com/product\",\n  schema: {\n    type: \"object\",\n    properties: {\n      name: { type: \"string\" },\n      price: { type: \"number\" },\n      description: { type: \"string\" },\n    },\n  },\n});\nconsole.log(data.name, data.price);\n```\n\n## Browser utilities — content, screenshot, PDF\n\n```typescript\nimport { writeFileSync } from \"node:fs\";\nimport { createGhostCrawlClient } from \"@ghostcrawl/sdk\";\n\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\n// Rendered content as a JSON envelope: { url, status, format, status_code, content, bytes }\nconst page = await client.content({ url: \"https://example.com\" });\nconsole.log(page.status_code, page.bytes, \"bytes\");\n\n// Screenshot — returns a Uint8Array of PNG bytes\nconst png = await client.screenshot({ url: \"https://example.com\", full_page: true });\nwriteFileSync(\"page.png\", png);\n\n// PDF — returns a Uint8Array of application/pdf bytes (Chrome-only; a Firefox/WebKit\n// identity throws an Error carrying statusCode 400 pdf_engine_unsupported)\nconst pdf = await client.pdf({ url: \"https://example.com\", paperFormat: \"a4\" });\nwriteFileSync(\"page.pdf\", pdf);\n```\n\n## Agent (BYO model, account-gated)\n\nThe agent lane runs a natural-language browser task. It is **bring-your-own-model** (pass your\nown `provider_config` in the request body) and **account-gated**: the API replies `404 not_found`\nunless the capability is enabled for your account. Handle that 404 explicitly — it is the\nexpected \"not enabled\" answer, not a transport failure.\n\n```typescript\nimport { createGhostCrawlClient } from \"@ghostcrawl/sdk\";\n\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\ntry {\n  const result = await client.agent({\n    task: {\n      instruction: \"click the 'Books to Scrape' link\",\n      start_url: \"https://books.toscrape.com\",\n    },\n    // provider_config is BYO — reference your provider key by env-var name, never a literal.\n    provider_config: {\n      provider: \"openai\",\n      api_key: \"OPENAI_API_KEY\",\n      model: \"gpt-4o\",\n    },\n  });\n  console.log(result);\n} catch (err) {\n  const status = (err as { statusCode?: number }).statusCode;\n  if (status === 404) {\n    console.log(\"agent lane not enabled for this account (BYO/gated)\");\n  } else {\n    throw err;\n  }\n}\n```\n\n## Browser sessions\n\n```typescript\nimport { createGhostCrawlClient } from \"@ghostcrawl/sdk\";\n\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\nconst session = await client.sessions.create({ profileName: \"my-profile\" });\nconst sessionId = session.sessionId as string;\n\nawait client.sessions.extend(sessionId, 600);\nawait client.sessions.release(sessionId);\n```\n\n## Error handling\n\n```typescript\nimport {\n  createGhostCrawlClient,\n  AuthenticationError,\n  RateLimitError,\n  APIError,\n} from \"@ghostcrawl/sdk\";\n\nconst client = createGhostCrawlClient({ token: \"gck_live_YOUR_KEY\" });\n\ntry {\n  const result = await client.scrape({ url: \"https://example.com\" });\n} catch (err) {\n  if (err instanceof AuthenticationError) {\n    console.error(\"Invalid API key — check your token\");\n  } else if (err instanceof RateLimitError) {\n    console.error(\"Rate limit reached — retry after a short delay\");\n  } else if (err instanceof APIError) {\n    console.error(`Server error: ${err.statusCode}`);\n  }\n}\n```\n\n## MCP Wrapper\n\n```typescript\nimport { GhostCrawlMCPClient } from \"@ghostcrawl/sdk\";\n\nconst mcp = new GhostCrawlMCPClient({\n  mcpUrl: \"https://api.ghostcrawl.io/mcp\",\n  apiKey: \"gck_live_YOUR_KEY\",\n});\n\nawait mcp.connect();\nconst nav = await mcp.navigate({ url: \"https://example.com\" });\nawait mcp.close();\n```\n\n## All resources\n\n| Resource | Client attribute | Key operations |\n|----------|-----------------|----------------|\n| Scraping | `client.scrape({ url })` | Render and return page content |\n| Web search | `client.search({ query })` | Search Google, Bing, DuckDuckGo |\n| Data extraction | `client.extract({ url, schema })` | Structured JSON from any page |\n| Deep crawl | `client.crawl({ url })` | Crawl a site depth-first |\n| URL map | `client.map({ url })` | Discover all reachable URLs |\n| Content | `client.content({ url })` | Rendered content JSON envelope |\n| Screenshot | `client.screenshot({ url })` | Capture a URL to PNG bytes |\n| PDF | `client.pdf({ url })` | Render a URL to PDF bytes (Chrome-only) |\n| Agent (BYO) | `client.agent({ task })` | NL browser task — account-gated, BYO model |\n| Crawl runs | `client.crawlRuns` | start, list, get, cancel |\n| Sessions | `client.sessions` | create, extend, release |\n| Profiles | `client.profiles` | list, get, create, update, delete |\n| Webhooks | `client.webhooks` | list, get, create, delete, rotateSecret |\n| Schedules | `client.schedules` | list, get, create, delete |\n| Datasets | `client.datasets` | list, get, create, delete, rows, append |\n| Recordings | `client.recordings` | list, get, delete |\n| Key-Value Store | `client.kv` | get, set, delete |\n\n## CLI\n\n```bash\nnpm install -g @ghostcrawl/cli\n\n# Set your API key\nexport GHOSTCRAWL_API_KEY=gck_live_YOUR_KEY\n\n# Scrape a URL\nghostcrawl scrape https://example.com\n\n# Start a crawl\nghostcrawl crawl https://example.com --max-depth 2\n```\n\n## Self-hosted\n\n```typescript\nconst client = createGhostCrawlClient({\n  token: \"gck_live_YOUR_KEY\",\n  baseUrl: \"http://localhost:8080\",\n});\n```\n\n## License\n\nProprietary — GhostCrawl Software License. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}