fix(amazon-shopping): enforce rating filters in chat output

This commit is contained in:
2026-04-15 21:05:27 -05:00
parent fda0602ac9
commit b3875858c7
7 changed files with 53 additions and 32 deletions
@@ -35,6 +35,22 @@ describe("parseNaturalLanguageRequest", () => {
assert.equal(parsed.filters.minRating, 4);
});
it("extracts rating filters without requiring the word of", () => {
const parsed = parseNaturalLanguageRequest(
"sofa bed, 77 inches or wider, over 50 reviews, rating 4.0 or better, Prime delivery only, sort by price low to high"
);
assert.equal(parsed.query, "sofa bed");
assert.equal(parsed.filters.minWidthInches, 77);
assert.equal(parsed.filters.widthComparison, "gte");
assert.equal(parsed.filters.minReviews, 50);
assert.equal(parsed.filters.reviewCountComparison, "gt");
assert.equal(parsed.filters.minRating, 4);
assert.equal(parsed.filters.ratingComparison, "gte");
assert.equal(parsed.filters.requirePrime, true);
assert.equal(parsed.filters.sortBy, "price");
});
it("extracts limit and max product price phrases", () => {
const parsed = parseNaturalLanguageRequest("return 5 wireless mouse under $30");