{"_id":"@aiwayds/dsh-web-search-tavily","_rev":"9-1d45fd5e6c96b7976af258d6ec48b42c","name":"@aiwayds/dsh-web-search-tavily","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.1.0","license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.1.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3536a13f23063276251d6750aa7347ef2b711ee3","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.1.0.tgz","fileCount":13,"integrity":"sha512-9JNrYtaY4VlMVYj0V2JlwBtyg2F15FkIS9QnEFjzj+EMWaB8p2QHtnQc1XDGpAmQF3TEqhwdE8oIt4PVqYJsYg==","signatures":[{"sig":"MEQCIBTZBER6+gaKF8xlX4aH4bwpI5iFwvQoLBGCRFnDvUwuAiBqbGFdtiUmSKFHI0g4vpREVxQIjNPRZrfc76eKaiHW5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35925},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"d8dca3e262f105d874a9868c0db570d90aaa3251","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"_npmVersion":"11.17.0","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-web":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-web":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.1.0_1787713604746_0.7815283979706065","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.1.1","license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.1.1","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"320e6e6f4966ce355339b52e4aacb4f919a8500d","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.1.1.tgz","fileCount":13,"integrity":"sha512-0wWPWDcD5BOcM4x6fGSY5MiJid/AkwOTWPgfpiwaOpssOBslY9xInGxZt571Vofqtw1KGnmioFgTKUpTXQusxg==","signatures":[{"sig":"MEUCIGD/5bIBHzDKBB2OynDXYRXXeYzmzuJe0eB0DEUskUJ0AiEA56FjWykBzthP54evALE0G66ZUHN8rJReuXkwWc6DMQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36291},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"3e2103191659616b5d608dfd66ca37fc72badee3","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"_npmVersion":"11.17.0","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-web":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-web":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.1.1_1787715028504_0.4692667969780362","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.1.2","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.1.2","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"e553142dcf88c8a80e6bf7f7f64a805a41092f41","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.1.2.tgz","fileCount":13,"integrity":"sha512-ywMx4aMciJw+Q18VRHNq1bT9Z7AxCIlJzItpYk1Gbaj8bb2w3CkrRUcmg9fZCvBg5fHLlwjUMazxsFcj1wqJUg==","signatures":[{"sig":"MEUCICDxcAluBbhr+oHHKbHna16lTxSh72pD8cGetVZ1YuKjAiEApcug6kc47uqSr30xXNUJPBN8Ly28nsc012qEk7dGqVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36521},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"32e7b8555d97da8a8bd5e9a9781aa51625d33854","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"11.12.1","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"25.4.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-web":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-web":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.1.2_1787977487260_0.7994501429911924","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.2.0","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.2.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3b3c0a6d6449ffb345f3ede0d81b5070aeac8246","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.2.0.tgz","fileCount":13,"integrity":"sha512-bqlAG7E3JACRqQJiBRCXFCOhDJlWDAKh1KZLJOOu4T5cV5T1IcGYWlN3RUrQXwQHWSQqP7urf4oSy12b6QcBtg==","signatures":[{"sig":"MEYCIQDWGJX/VCAkBly4Z64L95f/URCk6ycbaShrtMYMCTrglgIhAJq9dz5mMzcJOZkRlcTDfBKu2j4oXBD/Jduf23Riw8Eg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiwayds%2fdsh-web-search-tavily@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36715},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"6d132a786187b2e4fa4e44164b916ba8e2820b71","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","smoke":"node scripts/smoke-boot.mjs"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"10.9.8","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-web":"0.1.2-alpha.3","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-credentials":"0.1.2-alpha.3","@deepseek-ai/dsh-launch-environment":"0.1.2-alpha.3"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-web":">=0.1.2-alpha.3","@deepseek-ai/schemastery":"^3.18.2","@deepseek-ai/dsh-credentials":">=0.1.2-alpha.3","@deepseek-ai/dsh-launch-environment":">=0.1.2-alpha.3"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.2.0_1788281506633_0.5114930870227701","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.3.0","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.3.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"e3ac605834913bddb5402bf67055733e1f83cc10","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.3.0.tgz","fileCount":13,"integrity":"sha512-Cdlf8wJi8EqK7fKdApnffjWzlADRhnZ4zikLPqjK9yJW5MYm4yQAaPCvX+0UAzK6DdiiG/3/dNZw9ReKV4aG4Q==","signatures":[{"sig":"MEQCIFl4MKERaYvTDrR0KIXCzmnBzX3Q2loNUtjEkhytsG/uAiAyKcSCSob+x3+vCYft86JbkK3q5vDcKO98PM8Hqv/FQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiwayds%2fdsh-web-search-tavily@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36783},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"4e5888d599412aa9e56a97838e25aa3672454c92","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","smoke":"node scripts/smoke-boot.mjs"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"10.9.8","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-web":"0.1.2-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-launch-environment":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-web":">=0.1.2-rc.1","@deepseek-ai/schemastery":"^3.18.2","@deepseek-ai/dsh-credentials":">=0.1.2-rc.1","@deepseek-ai/dsh-launch-environment":">=0.1.2-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.3.0_1788442346696_0.9332457236195657","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.3.1","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.3.1","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"dbd122bc7fa5b3a6b7149912678ecdb9383e540c","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.3.1.tgz","fileCount":13,"integrity":"sha512-+sW3v0WjTTrsgfeyXkLcM4rx6wO4vZfKNMcfSbn1T5E5zPY6YtiADnjNEbj1WBfphvaFjNT+CAwY5pcQ/OdbHg==","signatures":[{"sig":"MEQCIA+g3hmCG5RV0DWm+iKZk4V77sakZHqMtZD6HJdJqtd7AiABCLgVIaqzWYLY93ZJS2GFgp6uZ/ZFrURoCxYy6y8S+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiwayds%2fdsh-web-search-tavily@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37564},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"4f702fd9e342084d1953df896f61dbf45ea0636f","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","smoke":"node scripts/smoke-boot.mjs"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"10.9.8","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-web":"0.1.2-rc.1","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-launch-environment":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-web":">=0.1.2-rc.1","@deepseek-ai/schemastery":"^3.18.2","@deepseek-ai/dsh-credentials":">=0.1.2-rc.1","@deepseek-ai/dsh-launch-environment":">=0.1.2-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.3.1_1788603323999_0.08614561512646124","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.4.0","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.4.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"95b546f5d7496babfcd6fc7b508a6c200dc4f2b6","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.4.0.tgz","fileCount":13,"integrity":"sha512-StuGzUr5oj0HgSCncYrFYYVpDhNQpYW6WYVmVRXfcyQoaVhDPpeMKvJ0R1m6jmab4jZYRlU6NxaOLyAZ9iFRoA==","signatures":[{"sig":"MEQCIE57vB7SIzzOvaOUkzfK/OBt3qVWRAWbU4yjbvPzi8g8AiBD0ie/oHXWJ9wxDiHMaRJK1fNQtdn3MNqAxx5kTgPlkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDWS9hgD6Sz/MP9C8s3Kzm2ffejSeDexUyMeudyZAmEVwIgMWorqENCnh2Xzl3xTyWeKgEXe/28AbkLc8FfenqTVW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiwayds%2fdsh-web-search-tavily@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37564},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"24a9921f14eea666a906a073fc7e916d3c6784f2","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","smoke":"node scripts/smoke-boot.mjs"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"10.9.8","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-web":"0.1.5-rc.2","@deepseek-ai/schemastery":"3.18.2","@deepseek-ai/dsh-credentials":"0.1.5-rc.2","@deepseek-ai/dsh-launch-environment":"0.1.5-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-web":">=0.1.5-rc.2","@deepseek-ai/schemastery":"^3.18.2","@deepseek-ai/dsh-credentials":">=0.1.5-rc.2","@deepseek-ai/dsh-launch-environment":">=0.1.5-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.4.0_1789097998413_0.24147574062371913","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aiwayds/dsh-web-search-tavily","version":"0.5.0","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"license":"MIT","_id":"@aiwayds/dsh-web-search-tavily@0.5.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"03e0f4a8bf162defe280b1db327109bda5e0c3f3","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.5.0.tgz","fileCount":16,"integrity":"sha512-3nxbevN3huBv8RSh2eX/b7NrTF5uh0cGeM9nhb9e5NzsNMqTCbAg6ErZ7ZcrhvNmF8yr9lQGelhFa+2/CwL5jA==","signatures":[{"sig":"MEUCIBLAMDwHh0xybNGrILexUT8mbMi72mQd8uS5rU8ObKuuAiEA/Asn9eZlqY5xh9PyaYjduj06j4l+GzHCBpq61rHS9xI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA7UuCLJxD6Xz+YVixFk19qv4EgaVh/yIY4yHjAtCg7wAiEAz1SuNkyqNMLxt/90dwQPtFR2BnUXCNfCThDhkcSaVnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiwayds%2fdsh-web-search-tavily@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38223},"icon":"./icon.svg","main":"lib/index.js","type":"module","types":"lib/index.d.ts","gitHead":"d5ab06314fb57f69b53ff133740f926d7bb36fd5","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","smoke":"node scripts/smoke-boot.mjs"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"10.9.8","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"4.0.4","@deepseek-ai/dsh-web":"0.1.7-rc.1","@deepseek-ai/schemastery":"3.18.4","@deepseek-ai/dsh-credentials":"0.1.7-rc.1","@deepseek-ai/dsh-launch-environment":"0.1.7-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-web":">=0.1.7-rc.1","@deepseek-ai/schemastery":"^3.18.2","@deepseek-ai/dsh-credentials":">=0.1.7-rc.1","@deepseek-ai/dsh-launch-environment":">=0.1.7-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-web-search-tavily_0.5.0_1790229706114_0.6193114955660457","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"_id":"@aiwayds/dsh-web-search-tavily@0.6.0","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"dist":{"shasum":"cbe86194642abf10e2d87abb861f65f9ed558d14","tarball":"https://registry.npmjs.org/@aiwayds/dsh-web-search-tavily/-/dsh-web-search-tavily-0.6.0.tgz","fileCount":16,"integrity":"sha512-xdOw8kbXPi7vHKLRwDYvKvKgD6rOevXnclGp/OL15sgpmVDQJ3sTEoTco34tnwCXSyLD1/m5V17O7w1oe8uGPQ==","signatures":[{"sig":"MEUCIQDVIt/Lwyh9mwpRwKULq1zeryhDLoIrCXcesngGbvWjjgIgJW0e34uTz1B8dNxJ8ZVDmYtN/g1rjhXAZb3pnd4D7Zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDb09lbwn4LhWpY+QKGK5OQFQ3dqJ6XuB3Rhis5h9arNwIgUTRseJoh9Hx29NZ9hYrQvEzpKNFPcl0xeMERg90lr6g="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiwayds%2fdsh-web-search-tavily@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38223},"icon":"./icon.svg","main":"lib/index.js","name":"@aiwayds/dsh-web-search-tavily","type":"module","types":"lib/index.d.ts","gitHead":"7d8c3ace01f47a0cffb512a41c2b22ff20091cd5","license":"MIT","scripts":{"test":"npm run build && node --test test/provider.test.mjs test/apply.test.mjs","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","smoke":"node scripts/smoke-boot.mjs"},"version":"0.6.0","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"_npmVersion":"10.9.8","description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","directories":{},"maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.0","@types/node":"^24.0.0","@deepseek-ai/cordis":"4.0.4","@deepseek-ai/dsh-web":"0.2.0-rc.2","@deepseek-ai/schemastery":"3.18.4","@deepseek-ai/dsh-credentials":"0.2.0-rc.2","@deepseek-ai/dsh-launch-environment":"0.2.0-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-web":">=0.2.0-rc.2","@deepseek-ai/schemastery":"^3.18.2","@deepseek-ai/dsh-credentials":">=0.2.0-rc.2","@deepseek-ai/dsh-launch-environment":">=0.2.0-rc.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-web-search-tavily_0.6.0_1790685299806_0.9842139697532055"}}},"time":{"created":"2026-08-26T03:06:44.546Z","modified":"2026-09-29T12:35:00.167Z","0.1.0":"2026-08-26T03:06:44.888Z","0.1.1":"2026-08-26T03:30:28.637Z","0.1.2":"2026-08-29T04:24:47.395Z","0.2.0":"2026-09-01T16:51:46.769Z","0.3.0":"2026-09-03T13:32:26.851Z","0.3.1":"2026-09-05T10:15:24.156Z","0.4.0":"2026-09-11T03:39:58.482Z","0.5.0":"2026-09-24T06:01:46.242Z","0.6.0":"2026-09-29T12:34:59.881Z"},"bugs":{"url":"https://github.com/fan56/dsh-web-search-tavily/issues"},"license":"MIT","homepage":"https://github.com/fan56/dsh-web-search-tavily#readme","keywords":["dsh","dsh-plugin","deepseek-harness","web-search","search","tavily"],"repository":{"url":"git+https://github.com/fan56/dsh-web-search-tavily.git","type":"git"},"description":"Tavily-backed web search provider for DeepSeek Harness (dsh)","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"readme":"# dsh-web-search-tavily\n\nA [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) plugin that\nprovides web search through the [Tavily Search API](https://docs.tavily.com/).\n\n**Requires dsh >= 0.2.0-rc.2** — this plugin targets the dsh RC/stable line only (CI and releases resolve the newest of the `latest`/`next` dist-tags at runtime). **The alpha line is no longer supported.**\n\nIt replaces the default DeepSeek web search — which spends a **full auxiliary model call\nper search** (Anthropic-compatible Messages API + `web_search_20250305` server tool) —\nwith a plain Tavily REST call: ~1s, 1 credit at `basic` depth, no model tokens.\n\nThe plugin registers a `WebSearchProvider` (`id: \"tavily\"`) with the official\n[`ctx.web` capability seam](https://github.com/deepseek-ai/deepseek-harness/tree/main/packages/web/web),\nso everything around the tool stays exactly as shipped: the model still calls the same\n`web_search` tool, with the same citation formatting, `searchMaxResults` bound, and\ntimeout budget. A provider swap changes how the harness reaches the web, nothing else.\n\n## Requirements\n\n- dsh `>= 0.2.0-rc.2` (peer deps resolve to the profile's shared `@deepseek-ai` closure)\n- A Tavily API key (`tvly-…`, [free tier available](https://tavily.com))\n\n## Install\n\nOne command:\n\n```sh\ndsh plugin --profile <name> add @aiwayds/dsh-web-search-tavily\n```\n\n`dsh plugin` installs the package into the profile (via pnpm) and registers it in\n`dsh.profile.bundles` automatically. Restart dsh — the provider is registered and ready.\nLocal development: `dsh plugin --profile <name> add link:/path/to/dsh-web-search-tavily`\n(relative path specs anchor to your invoking directory). The manual route — adding the\ndependency and the bundle entry to `~/.dsh/profiles/<name>/package.json` yourself and\nrunning `pnpm install` there — works identically.\n\nUnlike the anysearch sibling plugin, this one does **not** claim the `web_search`\ndefault on install — Tavily needs an API key, and a selected-but-unconfigured provider\nwould fail every search. After storing the key, select it with one patch entry (below).\n\n> `@deepseek-ai/*` packages are **peer dependencies by design**: they must resolve to\n> the profile's single shared dsh closure (`link-dsh-closure`). Putting them in\n> `dependencies` installs a second cordis instance and crashes the loader.\n\n## Uninstall\n\n```sh\ndsh plugin --profile <name> remove @aiwayds/dsh-web-search-tavily\n```\n\nThe host auto-cleans the whole install: the bundles entry is spliced out of the\nprofile's `package.json`, the dependency is removed, and the plugin's patch\nlayer drops with the package. Restart dsh and the `tavily` provider is gone —\n`web_search` falls back to whichever provider your patch layers still select\n(the shipped `deepseek-official` by default).\n\nThe plugin keeps no on-disk state. Your Tavily API key lives in host-owned\nstorage — the `TAVILY_API_KEY` ref in `~/.dsh/.credentials.yaml` or the\nlaunching environment — and uninstall never touches it. If you no longer want\nthe key (or the `searchProvider: tavily` patch entry selecting the provider),\nremove those by hand.\n\n## Configure\n\n**1. API key.** Store the key in dsh's managed credentials document\n(`~/.dsh/.credentials.yaml`) — resolved per search, never written to config files:\n\n```yaml\nversion: 1\nrefs:\n  TAVILY_API_KEY: tvly-xxxxxxxx\n```\n\nFallbacks, in resolution order: `TAVILY_API_KEY` in the launching environment, then a\nliteral `apiKey` in the plugin config (discouraged).\n\n**2. Select the provider.** The base bundle pins `web.searchProvider` to\n`deepseek-official`, and a configured id always wins — so add the override to the\nprofile's `cordis.patch.yml` (or the home-level `~/.dsh/cordis.patch.yml` for every\nprofile):\n\n```yaml\n- id: web\n  config:\n    searchProvider: tavily\n```\n\nOptionally retire the DeepSeek search plugin entirely:\n\n```yaml\n- id: web-search-deepseek\n  disabled: true\n```\n\nRestart dsh. **Verify** the composed tree:\n\n```sh\ndsh --profile <name> --dump-config | grep -A3 'id: web$'   # searchProvider: tavily\n```\n\n**Rollback:** delete the patch entries and restart — `web_search` returns to the\nshipped DeepSeek provider.\n\n**Plugin config** (all optional; via a patch layer, read at startup):\n\n| Field | Default | Notes |\n|---|---|---|\n| `apiKeyEnv` | `TAVILY_API_KEY` | Credential reference resolved per search |\n| `apiKey` | — | Literal key; wins over the reference |\n| `baseURL` | `https://api.tavily.com` | Env override: `TAVILY_BASE_URL` |\n| `searchDepth` | `basic` | `basic` / `advanced` (2 credits) / `fast` / `ultra-fast` |\n| `topic` | `general` | `general` / `news` / `finance` |\n| `maxResults` | `8` | Default when the tool sends no bound; API caps at 20 |\n| `includeAnswer` | `true` | Tavily's generated answer becomes the result's `content` |\n\nExample patch entry with config:\n\n```yaml\n- insert:\n    - id: web-search-tavily\n      name: '@aiwayds/dsh-web-search-tavily'\n      config:\n        searchDepth: advanced\n        topic: news\n```\n\n## Behavior\n\n- `results[].content` → the portable `snippet`; Tavily's `answer` → the result's\n  `content`; the API returns no publication dates, so `publishedAt` is never set.\n- Follows the `ctx.web` seam contract: cancellation as `WEB_ABORTED`, a missing key as\n  `WEB_PROVIDER_CREDENTIAL_MISSING` (naming `TAVILY_API_KEY`), provider failures as\n  `WEB_PROVIDER_ERROR` with Tavily's own error detail surfaced; a rejected key reads\n  `Tavily rejected the API key (HTTP 401)`.\n- `available()` is a local check only (credential source present, base URL parseable) —\n  it never makes network calls.\n- Result-count requests are clamped to Tavily's `max_results` cap (20); the seam\n  additionally enforces the tool's `searchMaxResults` bound (default 8).\n\n## Develop\n\n```sh\nnpm install\nnpm run check   # tsc --noEmit\nnpm test        # build + node --test (14 tests)\n```\n\nAfter editing `src/`, run `npm run build` and restart dsh — the plugin loads from\n`lib/`. Unit tests cover response mapping, availability, the request shape, and the\nHTTP/abort/credential error branches with mocked `fetch`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}