Commit Graph

42 Commits

Author SHA1 Message Date
11dce39428 fix(core): parse Kijiji StandardListing records 2026-04-28 21:57:10 -04:00
2a5701aeb9 test: quiet and speed up test runs 2026-04-28 21:45:06 -04:00
3fe5fdb63f fix(core): handle partial listing data 2026-04-28 21:34:45 -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
224e83ac4c fix: correct ebay title filtering and type contracts 2026-04-27 02:04:48 -04:00
b73faa35da fix: respect scraper pacing details 2026-04-27 00:13:42 -04:00
0f77155c8d fix: align marketplace price filter parsing 2026-04-23 11:14:57 -04:00
10c2856bf6 fix: tighten item price and pacing behavior 2026-04-23 10:59:33 -04:00
9c8643086a fix: refine scraper output behavior 2026-04-23 10:43:38 -04:00
244a88e63c fix: harden scraper price parsing 2026-04-23 10:31:08 -04:00
807849e257 fix: expose ebay unstable mode typing 2026-04-23 05:47:50 -04:00
eb37e8814e fix: preserve free results and request pacing 2026-04-23 05:40:42 -04:00
13c0fec305 fix: tighten scraper type contracts 2026-04-23 05:28:46 -04:00
08d59ab497 fix: tighten ebay result parsing 2026-04-23 05:13:40 -04:00
0a0723a560 fix: respect filtered result sets in unstable mode 2026-04-23 05:03:26 -04:00
881c2ddf8c fix: finalize scraper unstable mode integration 2026-04-23 00:20:21 -04:00
55faee7dd5 fix: cover scraper pricing edge cases 2026-04-22 23:54:07 -04:00
b5e14e686a fix: tighten scraper edge case handling 2026-04-22 23:46:52 -04:00
6f9d4db419 fix: tighten scraper parsing behavior 2026-04-22 23:41:08 -04:00
08edfa8097 fix: align scraper unstable mode behavior 2026-04-22 23:36:00 -04:00
c7fc8352ac fix: preserve default scraper result contracts 2026-04-22 23:30:17 -04:00
1ee41fb346 feat: add unstable mode to scraper results 2026-04-22 23:23:31 -04:00
8141de5b4b feat: add shared unstable listing classifier 2026-04-22 17:56:26 -04:00
9070f76412 refactor: handle facebook route-aware failure states 2026-04-22 11:48:47 -04:00
7ddc96dfdf refactor: add facebook html fallbacks 2026-04-22 11:36:47 -04:00
63ca006696 refactor: rewrite facebook item parser for comet bootstrap 2026-04-22 02:44:17 -04:00
c90ee54cc1 refactor: rewrite facebook search parser for comet bootstrap 2026-04-22 02:32:55 -04:00
cfd7619737 refactor: add facebook bootstrap candidate extraction 2026-04-21 23:46:00 -04:00
b072599bc6 refactor: add facebook response classification 2026-04-21 23:31:45 -04:00
b6e9501448 docs: align cookie setup with env-only auth 2026-04-21 21:53:42 -04:00
918ee92441 refactor: make ebay auth env-only 2026-04-21 21:46:40 -04:00
a7a5eca7ad refactor: remove facebook cookie overrides 2026-04-21 21:45:42 -04:00
847ce28590 refactor: make cookie loading env-only 2026-04-21 21:44:12 -04:00
7b4b656868 chore: import order
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2026-04-21 21:07:07 -04:00
e144dcabeb fix: accept nullable marketplace prices in formatter 2026-04-21 21:01:53 -04:00
f7372612fb test: fix formatting in test setup 2026-01-23 11:56:51 -05:00
bce126664e test: remove unused imports in Kijiji utils tests 2026-01-23 11:56:47 -05:00
8cbf11538e test: fix formatting and remove unused HttpError import in Kijiji tests 2026-01-23 11:56:44 -05:00
79f47fdaef test: remove unused import in Facebook integration tests 2026-01-23 11:56:41 -05:00
de5069bf2b test: fix unused variable in Facebook core tests 2026-01-23 11:56:38 -05:00
50d56201af feat: port upstream scraper improvements to monorepo
Kijiji improvements:
- Add error classes: NetworkError, ParseError, RateLimitError, ValidationError
- Add exponential backoff with jitter for retries
- Add request timeout (30s abort)
- Add pagination support (SearchOptions.maxPages)
- Add location/category mappings and resolution functions
- Add enhanced DetailedListing interface with images, seller info, attributes
- Add GraphQL client for seller details

Facebook improvements:
- Add parseFacebookCookieString() for parsing cookie strings
- Add ensureFacebookCookies() with env var fallback
- Add extractFacebookItemData() with multiple extraction paths
- Add fetchFacebookItem() for individual item fetching
- Add extraction metrics and API stability monitoring
- Add vehicle-specific field extraction
- Improve error handling with specific guidance for auth errors

Shared utilities:
- Update http.ts with new error classes and improved fetchHtml

Documentation:
- Port KIJIJI.md, FMARKETPLACE.md, AGENTS.md from upstream

Tests:
- Port kijiji-core, kijiji-integration, kijiji-utils tests
- Port facebook-core, facebook-integration tests
- Add test setup file

Scripts:
- Port parse-facebook-cookies.ts script

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 00:34:50 -05:00