89ad1c521f
fix(api): parse price filters as dollars
2026-04-30 23:17:56 -04:00
a6b24b318e
fix(types): expose argon2 declaration globally
2026-04-30 22:16:48 -04:00
0873df7e82
chore: merge code-smell-cleanup
2026-04-30 21:08:34 -04:00
82e12283de
docs: surface Kijiji AND-matching behavior in tool, API, and MCP responses
...
Kijiji zero-result queries (e.g. 'macbook air m1 apple silicon') are
confusing because the failure mode is non-obvious. Surface the root
cause everywhere the caller can see it:
- MCP tool description warns about AND-matching and gives a concrete
before/after example
- API 404 body includes the actionable hint via emptySearchResponse(hint)
- Core scraper logs the built URL and tip on page-1 zero results
- MCP handler unwraps the API message field so the hint reaches the LLM
2026-04-29 13:06:31 -04:00
abdd39d65c
fix: complete ebay integer validation test coverage
2026-04-29 00:56:37 -04:00
3e4e35c9ae
fix: tighten route integer parsing and test coverage
2026-04-29 00:32:23 -04:00
3ea6ee3938
fix: strictly parse route integers
2026-04-29 00:12:26 -04:00
d178f9c9cb
fix: remove cookie query forwarding
2026-04-28 23:52:45 -04:00
b6aaec0b65
chore: update ruler docs
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-28 22:29:12 -04:00
2a5701aeb9
test: quiet and speed up test runs
2026-04-28 21:45:06 -04:00
c6c44a0914
fix(api): preserve unstable buckets
2026-04-28 21:34:47 -04:00
63716272c5
chore: slim per-package tsconfigs to extend root
2026-04-28 19:55:59 -04:00
1d21c66945
chore: use exports field and catalog refs in all packages
2026-04-28 19:55:37 -04:00
bf393eacae
chore: setup typecheck scripts for each package
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-28 19:37:18 -04:00
957e0f137b
chore: biome lint and formatting
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-28 19:21:16 -04:00
b6456047a6
feat: add maxItems support to ebay scraper
2026-04-27 10:56:23 -04:00
02b3f805b2
fix: use explicit conditional calls and validate negative params
2026-04-27 10:46:06 -04:00
a1af5d2630
fix: align ebay route with spec and validate params
2026-04-27 09:56:39 -04:00
77b9fc9934
fix: validate route params and reduce duplication
2026-04-27 09:45:47 -04:00
a802035ca4
fix: correct empty-result and maxItems handling in routes
2026-04-27 09:34:08 -04:00
974190de6b
fix: preserve maxItems limit in unstable mode
2026-04-27 08:57:48 -04:00
3c38232cd5
feat: expose unstable mode in api routes
2026-04-27 02:49:35 -04:00
b6e9501448
docs: align cookie setup with env-only auth
2026-04-21 21:53:42 -04:00
1a2c0cf6b8
refactor: remove api cookie query overrides
2026-04-21 21:47:37 -04:00
86191e7a45
chore: deep-init
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-21 20:47:00 -04:00
e4ab145d70
feat: add cookie support to kijiji scraper
...
Add optional cookie parameter to bypass bot detection (403 errors).
Cookies can be provided via parameter, KIJIJI_COOKIE env var, or
cookies/kijiji.json file. Supports both JSON array and string formats.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 19:29:13 -05:00
cf9784a565
feat: implement cookie priority hierarchy (URL param > env var > file) for Facebook and eBay scrapers
2026-01-23 15:32:17 -05:00
65eb8d1724
refactor: increase kijiji scraping request rate to 4 rps
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-01-23 14:50:37 -05:00
637f1a4e75
fix: resolve biome lint errors and warnings
2026-01-23 10:33:15 -05:00
053efd815b
feat(api/kijiji): add filtering and pagination parameters
2026-01-23 09:54:30 -05:00
d619fa5d77
feat(api/facebook): add maxItems parameter support
2026-01-23 09:53:51 -05:00
050fd0adba
feat(api/ebay): add maxItems parameter and error handling
2026-01-23 09:53:00 -05:00
6e0487f8f3
style: format api-server index with consistent indentation
2026-01-23 09:52:22 -05:00
497c7995a2
feat: ebay 'buy it now' and 'canada only' filters support
2025-12-17 14:38:52 -05:00
a66b5b2362
migrate to monorepo?
2025-12-13 20:31:10 -05:00