{"_id":"@acjlabs/catalog-attribute-normalizer-client","_rev":"9-9f3f5ffaabf038b379e80d2fb6a75e1f","name":"@acjlabs/catalog-attribute-normalizer-client","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.3":{"name":"@acjlabs/catalog-attribute-normalizer-client","version":"0.1.3","keywords":["catalog","product-attributes","taxonomy","mcp","google-shopping","shopify","amazon"],"author":{"url":"https://acjlabs.com","name":"ACJ Labs","email":"contact@acjlabs.com"},"license":"MIT","_id":"@acjlabs/catalog-attribute-normalizer-client@0.1.3","maintainers":[{"name":"acjlabsdev","email":"npm@acjlabs.com"}],"homepage":"https://github.com/acjlabs/catalog-normalizer#readme","bugs":{"url":"https://github.com/acjlabs/catalog-normalizer/issues"},"dist":{"shasum":"a965c808a8d0fe121985251d458cc38acfa739b1","tarball":"https://registry.npmjs.org/@acjlabs/catalog-attribute-normalizer-client/-/catalog-attribute-normalizer-client-0.1.3.tgz","fileCount":7,"integrity":"sha512-oUgpuOY88O+jvhp1otg5lRdzhIUTS4uWeR5QnmMcSaYw8cFq9cIvUQueEBWHpfIkEklQ0LB6GjlXdcIxL+TdCA==","signatures":[{"sig":"MEQCIGBPz8BrSWaJcPkKgfFAvSTl6cpd7Mai7MOiWdjP2JZaAiBxTSEbh8SznpqkfRff/8S5GvtrQScxInE+qHsTRbBVqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10262},"main":"./dist/index.js","type":"module","_from":"file:acjlabs-catalog-attribute-normalizer-client-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","prepack":"node ../../../scripts/npm-prepack.mjs","postpack":"node ../../../scripts/npm-postpack.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"acjlabsdev","email":"npm@acjlabs.com"},"_resolved":"/tmp/acjlabs-publish/acjlabs-catalog-attribute-normalizer-client-0.1.3.tgz","overrides":{"fast-uri":"3.1.4"},"_integrity":"sha512-oUgpuOY88O+jvhp1otg5lRdzhIUTS4uWeR5QnmMcSaYw8cFq9cIvUQueEBWHpfIkEklQ0LB6GjlXdcIxL+TdCA==","repository":{"url":"git+https://github.com/acjlabs/catalog-normalizer.git","type":"git"},"_npmVersion":"10.9.2","description":"Typed TypeScript client for the ACJ Labs Catalog Attribute Normalizer MCP server — call normalize_catalog without wiring up a full MCP client.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/catalog-attribute-normalizer-client_0.1.3_1784763024904_0.7182491474548311","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@acjlabs/catalog-attribute-normalizer-client","version":"0.1.4","keywords":["catalog","catalog-normalizer","product-attributes","taxonomy","google-product-taxonomy","product-feed","mcp","google-shopping","shopify","amazon"],"author":{"url":"https://acjlabs.com","name":"ACJ Labs","email":"contact@acjlabs.com"},"license":"MIT","_id":"@acjlabs/catalog-attribute-normalizer-client@0.1.4","maintainers":[{"name":"acjlabsdev","email":"npm@acjlabs.com"}],"homepage":"https://acjlabs.com/products","bugs":{"url":"https://github.com/acjlabs/catalog-normalizer/issues"},"dist":{"shasum":"0ec82ab6c26018eef6f1f914e128774c9f21b634","tarball":"https://registry.npmjs.org/@acjlabs/catalog-attribute-normalizer-client/-/catalog-attribute-normalizer-client-0.1.4.tgz","fileCount":7,"integrity":"sha512-fW+OWzeEcoH37z+phmi4UfrRkmffnOiUuzqtKV/LXtvqM6ZlfJ/vNVcRMLomwpX838Cx7V9s9cuSjvD75cxl6Q==","signatures":[{"sig":"MEUCIEStiQVVT6si5VDl91eSYcxDw03WtQp6D6Y1VYsiWYOUAiEA8iCE1aq9maOA/ENEu5BHBvIT+Uxagz7AQoKE2ma7UFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10576},"main":"./dist/index.js","type":"module","_from":"file:acjlabs-catalog-attribute-normalizer-client-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"acjlabsdev","email":"npm@acjlabs.com"},"_resolved":"/tmp/acjlabs-publish/acjlabs-catalog-attribute-normalizer-client-0.1.4.tgz","overrides":{"fast-uri":"3.1.4"},"_integrity":"sha512-fW+OWzeEcoH37z+phmi4UfrRkmffnOiUuzqtKV/LXtvqM6ZlfJ/vNVcRMLomwpX838Cx7V9s9cuSjvD75cxl6Q==","repository":{"url":"git+https://github.com/acjlabs/catalog-normalizer.git","type":"git"},"_npmVersion":"10.9.2","description":"Taxonomy-grounded catalog attribute normalizer — verified against the real Google Product Taxonomy, so it catches the plausible-but-wrong category IDs a generic LLM invents. Typed TypeScript client for the ACJ Labs MCP server; call normalize_catalog with ","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/catalog-attribute-normalizer-client_0.1.4_1784964918644_0.752792706166459","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@acjlabs/catalog-attribute-normalizer-client","version":"0.1.5","description":"Taxonomy-grounded catalog attribute normalizer — verified against the real Google Product Taxonomy, so it catches the plausible-but-wrong category IDs a generic LLM invents. Typed TypeScript client for the ACJ Labs MCP server; call normalize_catalog with ","license":"MIT","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"sideEffects":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.build.json","test":"bun test","typecheck":"tsc --noEmit"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"overrides":{"fast-uri":"3.1.4"},"keywords":["catalog","catalog-normalizer","product-attributes","taxonomy","google-product-taxonomy","product-feed","mcp","google-shopping","shopify","amazon"],"repository":{"type":"git","url":"git+https://github.com/acjlabs/catalog-normalizer.git"},"homepage":"https://acjlabs.com/products","bugs":{"url":"https://github.com/acjlabs/catalog-normalizer/issues"},"author":{"name":"ACJ Labs","email":"contact@acjlabs.com","url":"https://acjlabs.com"},"_id":"@acjlabs/catalog-attribute-normalizer-client@0.1.5","_integrity":"sha512-aFJYJeDFdHVgGUtDHIx/CZBW0v9Vl2siYTr9MhoLcTuH6kaxT7D115lb/vG9Ms51DsjzspKINiUGmK90mQPF+Q==","_resolved":"/tmp/acjlabs-publish/acjlabs-catalog-attribute-normalizer-client-0.1.5.tgz","_from":"file:acjlabs-catalog-attribute-normalizer-client-0.1.5.tgz","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-aFJYJeDFdHVgGUtDHIx/CZBW0v9Vl2siYTr9MhoLcTuH6kaxT7D115lb/vG9Ms51DsjzspKINiUGmK90mQPF+Q==","shasum":"b6ee1424048a4ef837463d9bba2792bc2d488e87","tarball":"https://registry.npmjs.org/@acjlabs/catalog-attribute-normalizer-client/-/catalog-attribute-normalizer-client-0.1.5.tgz","fileCount":7,"unpackedSize":10873,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDorjk3Ykw9WvFF9xPJXgAOdgipV2Dq4bwD9uuOM4kNVAIhAIuZNLgVOJknKOrZ5XMrpeZNW3VMJchKwgfFaRbDvKQf"}]},"_npmUser":{"name":"acjlabsdev","email":"npm@acjlabs.com"},"directories":{},"maintainers":[{"name":"acjlabsdev","email":"npm@acjlabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/catalog-attribute-normalizer-client_0.1.5_1785459965535_0.2938663250606255"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T22:15:38.460Z","modified":"2026-07-31T01:06:05.833Z","0.1.0":"2026-07-22T22:15:38.822Z","0.1.1":"2026-07-22T22:30:39.777Z","0.1.2":"2026-07-22T22:36:24.485Z","0.1.3":"2026-07-22T23:30:25.064Z","0.1.4":"2026-07-25T07:35:18.787Z","0.1.5":"2026-07-31T01:06:05.689Z"},"bugs":{"url":"https://github.com/acjlabs/catalog-normalizer/issues"},"author":{"name":"ACJ Labs","email":"contact@acjlabs.com","url":"https://acjlabs.com"},"license":"MIT","homepage":"https://acjlabs.com/products","keywords":["catalog","catalog-normalizer","product-attributes","taxonomy","google-product-taxonomy","product-feed","mcp","google-shopping","shopify","amazon"],"repository":{"type":"git","url":"git+https://github.com/acjlabs/catalog-normalizer.git"},"description":"Taxonomy-grounded catalog attribute normalizer — verified against the real Google Product Taxonomy, so it catches the plausible-but-wrong category IDs a generic LLM invents. Typed TypeScript client for the ACJ Labs MCP server; call normalize_catalog with ","maintainers":[{"name":"acjlabsdev","email":"npm@acjlabs.com"}],"readme":"# @acjlabs/catalog-attribute-normalizer-client\n\n**Taxonomy-grounded catalog attribute normalizer** — verified against the real Google Product Taxonomy, so\nit catches the plausible-but-wrong category IDs a generic LLM invents. Typed TypeScript client for the\n[ACJ Labs Catalog Attribute Normalizer](https://github.com/acjlabs/catalog-normalizer) MCP server — call\n`normalize_catalog` without wiring up a full MCP client yourself.\n\n```sh\nnpm install @acjlabs/catalog-attribute-normalizer-client\n```\n\n## Usage\n\n```ts\nimport { createCatalogNormalizerClient } from \"@acjlabs/catalog-attribute-normalizer-client\";\n\nconst client = createCatalogNormalizerClient({\n  baseUrl: \"https://catalog-normalizer.acjlabs.com\", // no trailing slash, no \"/mcp\"\n  apiKey: \"your-api-key\",\n});\n\nconst results = await client.normalizeCatalog(\n  [{ title: \"Men's Crew Neck Tee, Navy, Lg\", description: \"...\", raw_attributes: { size: \"Lg\", color: \"Navy\" } }],\n  [\"google\", \"shopify\"],\n);\n// results[i] is a NormalizedProduct on success, or { error, source_title } if that one product's\n// classification failed — one failure never voids the rest of the batch.\n```\n\n`https://acjlabs-catalog-normalizer.acjlabs.workers.dev` is an alternate base URL for the same\ndeployment and keeps working — if you already have it configured, nothing needs to change.\n\n## Design notes\n\n- **Only runtime dependency is `@modelcontextprotocol/sdk`** — installing this client doesn't pull in\n  the server's own dependencies transitively.\n- **Connects fresh per call.** The server's MCP transport is stateless (no session state is kept\n  between HTTP requests), so there's no session worth holding open between calls.\n- Types (`NormalizedProduct`, `TaxonomyName`, etc.) are hand-kept in sync with the server's wire\n  schema — not imported from the server package, on purpose (see the dependency note above).\n","readmeFilename":"README.md"}