[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-BuyWhere-buywhere-langchain-pl":3,"guides-for-BuyWhere-buywhere-langchain":230,"similar-k174tj4zmxrkh9kz1sgs8w3ts9865y61":231},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":23,"identity":193,"isFallback":197,"parentExtension":198,"providers":199,"relations":204,"repo":206,"workflow":226},1777995645703.244,"k174tj4zmxrkh9kz1sgs8w3ts9865y61",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"BuyWhere tools for LangChain - product search, price comparison, and deals as LangChain tools",{},"BuyWhere LangChain Tools","https://github.com/BuyWhere/buywhere/tree/HEAD/packages/buywhere-langchain",[15,16,17,18,19,20,21,22],"buywhere","langchain","ecommerce","product-search","price-comparison","deals","sdk","typescript",{"_creationTime":24,"_id":25,"extensionId":5,"locale":26,"result":27,"trustSignals":179,"workflow":191},1777995897177.4624,"kn71ewwsd0sw8q3vwywpgkdjes864wsa","en",{"checks":28,"evaluatedAt":169,"extensionSummary":170,"promptVersionExtension":171,"promptVersionScoring":172,"rationale":173,"score":174,"summary":175,"tags":176,"targetMarket":177,"tier":178},[29,34,37,40,44,47,51,55,58,61,65,69,72,76,79,82,85,88,91,94,98,102,106,110,114,117,120,124,128,131,134,137,140,143,147,150,153,156,159,162,166],{"category":30,"check":31,"severity":32,"summary":33},"Practical Utility","Problem relevance","pass","The description clearly names the problem of product search, price comparison, and deals for AI agents using LangChain.",{"category":30,"check":35,"severity":32,"summary":36},"Unique selling proposition","The extension provides specific tools for product search, price comparison, and deals, which go beyond basic LLM capabilities by integrating with a dedicated e-commerce API.",{"category":30,"check":38,"severity":32,"summary":39},"Production readiness","The extension offers a comprehensive set of tools for product discovery and comparison, covering various aspects of an e-commerce workflow, and includes well-defined inputs and outputs.",{"category":41,"check":42,"severity":32,"summary":43},"Scope","Single responsibility principle","The extension focuses solely on providing tools for interacting with the BuyWhere product catalog API, covering e-commerce product search, comparison, and deal discovery.",{"category":41,"check":45,"severity":32,"summary":46},"Description quality","The displayed description accurately and concisely summarizes the extension's purpose: providing BuyWhere tools for LangChain for product search, price comparison, and deals.",{"category":48,"check":49,"severity":32,"summary":50},"Invocation","Scoped tools","All tools are narrowly scoped verb-noun specialists (e.g., `search_products`, `get_deals`) providing clear functionality.",{"category":52,"check":53,"severity":32,"summary":54},"Documentation","Configuration & parameter reference","The descriptions for each tool clearly list required and optional parameters, their types, and example usage, covering all aspects of the tool's functionality.",{"category":41,"check":56,"severity":32,"summary":57},"Tool naming","All tool names are descriptive, follow kebab-case conventions, and clearly indicate their function within the e-commerce domain.",{"category":41,"check":59,"severity":32,"summary":60},"Minimal I/O surface","Tool inputs are structured JSON objects with clearly defined parameters, and outputs are well-formatted JSON responses, requesting and returning only necessary data.",{"category":62,"check":63,"severity":32,"summary":64},"License","License usability","The extension is licensed under MIT, a permissive open-source license.",{"category":66,"check":67,"severity":32,"summary":68},"Maintenance","Commit recency","The last commit was 0 days ago, indicating very recent maintenance.",{"category":66,"check":70,"severity":32,"summary":71},"Dependency Management","The project uses npm for dependency management and specifies peer dependencies like `@langchain/core` and `@buywhere/sdk`, with `tsup` for building. No explicit vulnerability checks are visible, but the direct dependencies are standard.",{"category":73,"check":74,"severity":32,"summary":75},"Security","Secret Management","The extension requires an API key for the BuyWhere SDK, which is expected to be provided via configuration or environment variables. The code does not hardcode secrets.",{"category":73,"check":77,"severity":32,"summary":78},"Injection","The extension processes JSON input for tool parameters, which is then used to call the BuyWhere SDK. No untrusted data is directly executed as code.",{"category":73,"check":80,"severity":32,"summary":81},"Transitive Supply-Chain Grenades","The extension relies on the `@buywhere/sdk` package and standard npm dependencies. There are no runtime downloads or external script executions.",{"category":73,"check":83,"severity":32,"summary":84},"Sandbox Isolation","The extension interacts with an external API via the BuyWhere SDK and does not appear to modify any local files or system paths outside of its intended scope.",{"category":73,"check":86,"severity":32,"summary":87},"Sandbox escape primitives","The extension code does not contain any obvious primitives for sandbox escape, such as detached processes or retry loops around denied tool calls.",{"category":73,"check":89,"severity":32,"summary":90},"Data Exfiltration","The extension primarily makes outbound calls to the BuyWhere API using an API key. There are no apparent mechanisms for exfiltrating confidential user data.",{"category":73,"check":92,"severity":32,"summary":93},"Hidden Text Tricks","Bundled files do not contain any hidden text tricks or obfuscated instructions.",{"category":95,"check":96,"severity":32,"summary":97},"Hooks","Opaque code execution","The code is written in TypeScript and compiled with `tsup`, producing standard CJS and ESM modules. There is no obfuscation or runtime code fetching.",{"category":99,"check":100,"severity":32,"summary":101},"Portability","Structural Assumption","The extension operates by calling an external API and does not make assumptions about the user's project file structure.",{"category":103,"check":104,"severity":32,"summary":105},"Trust","Issues Attention","There are 0 issues opened and 0 issues closed in the last 90 days, indicating no current activity or backlog.",{"category":107,"check":108,"severity":32,"summary":109},"Versioning","Release Management","The `package.json` file declares a version of `0.1.0`, which is a meaningful version number.",{"category":111,"check":112,"severity":32,"summary":113},"Code Execution","Validation","Input parameters for each tool are parsed from JSON, and while not explicitly using a schema library like Zod for parameter validation within the tool's `_call` method itself, the SDK client likely handles validation. The `search` and `agents.search` methods are typed, and the use of `JSON.parse` with explicit parameter types suggests basic validation.",{"category":73,"check":115,"severity":32,"summary":116},"Unguarded Destructive Operations","The extension primarily interacts with an external API for data retrieval and search operations, with no destructive operations present.",{"category":111,"check":118,"severity":32,"summary":119},"Error Handling","Each tool's `_call` method includes a try-catch block that catches errors and returns a JSON object with `success: false` and an error message, providing structured error reporting.",{"category":111,"check":121,"severity":122,"summary":123},"Logging","not_applicable","The extension's functionality is primarily API calls, and it does not perform destructive actions or significant local operations that would require local audit logging.",{"category":125,"check":126,"severity":32,"summary":127},"Compliance","GDPR","The extension interacts with a product catalog API and does not appear to handle personal data directly. Any personal data would be handled by the BuyWhere API itself.",{"category":125,"check":129,"severity":32,"summary":130},"Target market","The extension's README and code mention support for multiple regions (Southeast Asia and US) and do not indicate any specific geographical or legal jurisdiction restrictions, making it globally applicable.",{"category":99,"check":132,"severity":32,"summary":133},"Runtime stability","The extension is written in TypeScript and compiled for Node.js environments, compatible with LangChain. It doesn't rely on specific OS features or shells beyond standard Node.js execution.",{"category":48,"check":135,"severity":32,"summary":136},"Precise Purpose","The tool descriptions clearly state what each tool does, its inputs, and its outputs, guiding the LLM on when to use them (e.g., 'Search the BuyWhere product catalog for products matching a query').",{"category":48,"check":138,"severity":32,"summary":139},"Concise Frontmatter","The `package.json` description is concise and accurately reflects the tool's purpose. Each tool's description is also concise and informative.",{"category":52,"check":141,"severity":32,"summary":142},"Concise Body","The source code for each tool is well-structured and not excessively long, with complex logic delegated to the underlying SDK.",{"category":144,"check":145,"severity":122,"summary":146},"Context","Progressive Disclosure","This is a set of LangChain tools, not a skill with a complex body of instructions. Progressive disclosure is not applicable here.",{"category":144,"check":148,"severity":122,"summary":149},"Forked exploration","The extension consists of tools that interact with an API and do not involve deep code exploration or research requiring `context: fork`.",{"category":30,"check":151,"severity":32,"summary":152},"Usage examples","The README provides clear bash examples for API usage, and the tests demonstrate how to invoke the LangChain tools with sample inputs and expected outputs.",{"category":30,"check":154,"severity":32,"summary":155},"Edge cases","The `_call` methods include try-catch blocks to handle errors gracefully, and tool descriptions often specify optional parameters and their defaults, covering some edge cases.",{"category":111,"check":157,"severity":122,"summary":158},"Tool Fallback","The extension relies on an external SDK and API, and does not have dependencies on other tools or custom runtimes that would require fallbacks.",{"category":99,"check":160,"severity":32,"summary":161},"Stack assumptions","The `package.json` and `tsconfig.json` specify Node.js and TypeScript as the stack. The `tsup.config.ts` confirms output formats for CJS and ESM, indicating broad Node.js compatibility.",{"category":163,"check":164,"severity":32,"summary":165},"Safety","Halt on unexpected state","Error handling in the `_call` methods ensures that if the underlying SDK or API encounters an error, the tool returns a structured error message rather than continuing in an unexpected state.",{"category":99,"check":167,"severity":32,"summary":168},"Cross-skill coupling","Each tool is designed to be used independently and relies only on the BuyWhere SDK. There are no implicit dependencies on other skills.",1777995861656,"This package provides several tools for LangChain, enabling agents to search for products, compare prices, find deals, and retrieve detailed product information from the BuyWhere API. It includes specialized tools for agent workflows and general product discovery.","2.0.0","3.4.0","The extension is well-implemented, has clear documentation, and follows best practices for tool development. All checks passed with a high level of quality, with only minor points of not_applicable for checks that do not apply to this type of extension.",98,"A high-quality set of LangChain tools for interacting with the BuyWhere e-commerce API.",[15,16,17,18,19,20,21,22],"global","verified",{"codeQuality":180,"collectedAt":181,"documentation":182,"maintenance":184,"popularity":186,"security":187,"testCoverage":190},{},1777995845724,{"descriptionLength":183,"readmeSize":8},93,{"closedIssues90d":8,"openIssues90d":8,"pushedAt":185},1777994429000,{"smitheryUniqueUsers":8,"smitheryUseCount":8},{"hasNpmPackage":188,"license":189,"smitheryVerified":188},false,"MIT",{"hasCi":188,"hasTests":188},{"updatedAt":192},1777995897177,{"githubOwner":194,"githubRepo":15,"locale":26,"slug":195,"type":196},"BuyWhere","buywhere-langchain","skill",true,null,{"extract":200,"llm":202,"smithery":203},{"commitSha":201,"license":189},"2083d92e71185b754d867eae453dc21e471f33d2",{"promptVersionExtension":171,"promptVersionScoring":172,"score":174,"targetMarket":177,"tier":178},{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":205},"kd76sh9s8596jy0g347p8xyj6d865494",{"_creationTime":207,"_id":205,"identity":208,"providers":210,"workflow":223},1777995551258.05,{"githubOwner":194,"githubRepo":15,"sourceUrl":209},"https://github.com/BuyWhere/buywhere",{"discover":211,"github":214},{"sources":212},[213],"mcp-registry",{"closedIssues90d":8,"forks":8,"openIssues90d":8,"pushedAt":185,"readmeSize":215,"stars":8,"topics":216},5005,[15,217,218,219,220,221,222],"mcp-server","model-context-protocol","product-catalog","shopping-agent","singapore","southeast-asia",{"discoverAt":224,"extractAt":225,"githubAt":225,"updatedAt":225},1777995551258,1777995647021,{"anyEnrichmentAt":227,"extractAt":228,"githubAt":229,"llmAt":192,"smitheryAt":227,"updatedAt":192},1777995723550,1777995645703,1777995646287,[],[232,259,286,316,338,369],{"_creationTime":233,"_id":234,"community":235,"display":236,"identity":249,"providers":251,"relations":256,"workflow":257},1777995645703.245,"k172wbj84mwfawa1krjnvymwfx864x8d",{"reviewCount":8},{"description":237,"installMethods":238,"name":239,"sourceUrl":240,"tags":241},"BuyWhere OpenAI function tools - product search, price comparison, and deals as OpenAI function calling tools",{},"BuyWhere OpenAI Tools","https://github.com/BuyWhere/buywhere/tree/HEAD/packages/buywhere-openai-tools",[15,242,243,244,18,19,20,245,246,247,22,248],"openai","openai-tools","function-calling","shopping","agent-sdk","ai","npm",{"githubOwner":194,"githubRepo":15,"locale":26,"slug":250,"type":196},"buywhere-openai-tools",{"extract":252,"llm":253,"smithery":255},{"commitSha":201,"license":189},{"promptVersionExtension":171,"promptVersionScoring":172,"score":254,"targetMarket":177,"tier":178},95,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":205},{"anyEnrichmentAt":227,"extractAt":228,"githubAt":229,"llmAt":258,"smitheryAt":227,"updatedAt":258},1778005088200,{"_creationTime":260,"_id":261,"community":262,"display":263,"identity":273,"providers":276,"relations":280,"workflow":282},1778054052548.222,"k17fard3a1kf7n7ybxjexq5k2h866rf5",{"reviewCount":8},{"description":264,"installMethods":265,"name":266,"sourceUrl":267,"tags":268},"Discord adapter for chat",{},"Discord Adapter","https://github.com/vercel/chat/tree/HEAD/packages/adapter-discord",[269,270,271,21,22,272],"discord","adapter","chat","nodejs",{"githubOwner":274,"githubRepo":271,"locale":26,"slug":275,"type":196},"vercel","chat-adapter-discord",{"extract":277,"llm":279},{"commitSha":278,"license":189},"3e4764db4d5c826cd0938cdcd0130d14eb8ed992",{"promptVersionExtension":171,"promptVersionScoring":172,"score":174,"targetMarket":177,"tier":178},{"repoId":281},"kd7ds766kaxjjf3s3hr8y7z2t9865yn3",{"anyEnrichmentAt":283,"extractAt":284,"githubAt":283,"llmAt":285,"updatedAt":285},1778054054404,1778054052548,1778054107364,{"_creationTime":287,"_id":288,"community":289,"display":290,"identity":299,"providers":303,"relations":310,"workflow":312},1778054061126.639,"k175y0cqkmtzbdcemwrn1npz1h8670vb",{"reviewCount":8},{"description":291,"installMethods":292,"name":293,"sourceUrl":294,"tags":295},"商品价格全网对比技能，获取商品在淘宝(Taobao)、天猫(TMall)、京东(JD.com)、拼多多(PinDuoDuo)、抖音(Douyin)、快手(KaiShou)的最优价格、优惠券，当用户想购物或者获取优惠信息时使用。Get the best price, coupons for goods on Chinese e-commerce platforms, compare product prices, and use when users want to shop or get discount information.",{},"买手技能","https://github.com/aahl/skills/tree/HEAD/skills/maishou",[17,19,296,245,297,298],"coupons","china","python",{"githubOwner":300,"githubRepo":301,"locale":26,"slug":302,"type":196},"aahl","skills","maishou",{"extract":304,"llm":307},{"commitSha":305,"license":306},"503806b8502ad5965d31c46b9e46584f0746f33d","MIT-0",{"promptVersionExtension":171,"promptVersionScoring":172,"score":308,"targetMarket":177,"tier":309},78,"evaluated",{"repoId":311},"kd7f9kgmrb1hqjqtdjzws1v09d865znt",{"anyEnrichmentAt":313,"extractAt":314,"githubAt":313,"llmAt":315,"updatedAt":315},1778054061476,1778054061126,1778054102990,{"_creationTime":317,"_id":318,"community":319,"display":320,"identity":330,"providers":332,"relations":335,"workflow":336},1777995645703.246,"k177ejgk1x1j773b5fw0b07n398657yk",{"reviewCount":8},{"description":321,"installMethods":322,"name":323,"sourceUrl":324,"tags":325},"BuyWhere MCP server — search and compare products from Singapore, SEA, and US markets via Model Context Protocol. Cross-border e-commerce product catalog for AI agents.",{},"BuyWhere MCP Server","https://github.com/BuyWhere/buywhere/tree/HEAD/packages/mcp-server",[326,219,17,245,327,22,328,329,19],"mcp","ai-agent","api","search",{"githubOwner":194,"githubRepo":15,"locale":26,"slug":331,"type":196},"buywhere-mcp-server",{"extract":333,"smithery":334},{"commitSha":201,"license":189},{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":205},{"anyEnrichmentAt":337,"extractAt":228,"githubAt":229,"invalidatedAt":337,"llmAt":192,"smitheryAt":337,"updatedAt":337},1778004346622,{"_creationTime":339,"_id":340,"community":341,"display":342,"identity":353,"providers":357,"relations":364,"workflow":366},1777995614337.9844,"k17f0xfg2pkfqd1p5jjzh8sswh8645px",{"reviewCount":8},{"description":343,"installMethods":344,"name":345,"sourceUrl":346,"tags":347},"Scaffold an editable Tandem control panel app",{},"Tandem Panel Scaffold","https://github.com/frumu-ai/tandem/tree/HEAD/packages/create-tandem-panel",[348,349,350,22,351,352],"scaffolding","cli","react","vite","ui",{"githubOwner":354,"githubRepo":355,"locale":26,"slug":356,"type":196},"frumu-ai","tandem","create-tandem-panel",{"extract":358,"llm":361,"smithery":363},{"commitSha":359,"license":360},"25c8ae7c2f8b20d576a2b8d44946ac2e0ff9408d","MIT OR Apache-2.0",{"promptVersionExtension":171,"promptVersionScoring":172,"score":362,"targetMarket":177,"tier":178},100,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":188},{"repoId":365},"kd72pd305er4m7vecv9p6mnd4s865kea",{"anyEnrichmentAt":227,"extractAt":367,"githubAt":368,"llmAt":192,"smitheryAt":227,"updatedAt":192},1777995614338,1777995614791,{"_creationTime":370,"_id":371,"community":372,"display":373,"identity":382,"providers":385,"relations":390,"workflow":392},1778054425877.1958,"k171ck7gyw157xcvkrk6k0r9y1866w01",{"reviewCount":8},{"description":374,"name":375,"sourceUrl":376,"tags":377},"ESLint rules for React Hooks","ESLint Plugin React Hooks","https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks",[350,378,379,380,381,22],"eslint","linting","hooks","javascript",{"githubOwner":383,"githubRepo":350,"locale":26,"slug":384,"type":196},"facebook","eslint-plugin-react-hooks",{"extract":386,"llm":388},{"commitSha":387,"license":189},"9635257c1b557acc81f95b1e974a54c752e703a2",{"promptVersionExtension":171,"promptVersionScoring":172,"score":389,"targetMarket":177,"tier":178},99,{"repoId":391},"kd73v9dy7vwq94hgzc7eh43b9s865rhq",{"anyEnrichmentAt":393,"extractAt":394,"githubAt":393,"llmAt":395,"updatedAt":395},1778054428301,1778054425877,1778054588390]