e791fc5478
test(facebook): add live parser suite
2026-04-30 22:44:28 -04:00
c1fa5168dc
test(kijiji): add live parser suite
2026-04-30 22:43:52 -04:00
ec2a26cedf
test(ebay): add live parser suite
2026-04-30 22:42:32 -04:00
5d99e984e0
docs: plan live parser tests
2026-04-30 22:41:41 -04:00
b657ea594a
chore: update agents docs
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-30 22:29:01 -04:00
5651a194e9
chore: use biome check instead of biome ci
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-30 22:28:02 -04:00
31cc0660bc
refactor(ebay): reuse fetchHtml after challenge
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-30 22:26:24 -04:00
fc7200777e
style: format expected json output in protocol test
2026-04-30 22:25:47 -04:00
f68a5a8d9b
feat(linter): enforce correctness on unused imports
...
Configures the linter to treat unused imports as an error under the
`correctness` rule category. This tightens up code quality standards by
ensuring all imported bindings are utilized.
If the import is unused, there is a high chance refactoring missed this
flow. Review in-depth root causes.
2026-04-30 22:24:06 -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
24e0a8266e
Revert "test: preload core fetch guard"
...
This reverts commit 28b3267b7d .
2026-04-30 20:58:06 -04:00
db173aef1b
Revert "chore: add sentinel file for bun test root"
...
This reverts commit d1cd028f34 .
2026-04-30 20:58:06 -04:00
d1cd028f34
chore: add sentinel file for bun test root
2026-04-30 20:56:14 -04:00
28b3267b7d
test: preload core fetch guard
2026-04-30 20:53:31 -04:00
c0dda57f64
test: require explicit fetch mocks
2026-04-30 20:51:13 -04:00
31866de787
refactor: clean kijiji scraper internals
2026-04-30 20:48:15 -04:00
9c4c347933
feat: ebay splashui challenge solver
...
argon2id pow → /challengesvc/answer → chlgref cookie
warm homepage for akamai cookies, detect 307 redirect,
solve + retry transparently in fetchEbayItems flow
2026-04-30 20:44:37 -04:00
53eafe6d4c
chore: agent-browser skills path env
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-30 20:44:05 -04:00
84f17fbdfd
chore: ebay parser fix
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-30 16:56:55 -04:00
3a722a2d11
chore: agent-browser vars
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-30 16:56:44 -04:00
f95b974c7e
fix: harden shared http helper
2026-04-29 21:09:10 -04:00
f5339cadf1
style: format shared http refactor
2026-04-29 21:05:36 -04:00
5d86a4e54d
fix: preserve ebay rate-limit fallback
2026-04-29 14:52:08 -04:00
82e7abc057
fix: keep shared http refactor in scope
2026-04-29 14:48:47 -04:00
6e50ebf901
refactor: share scraper http fetching
2026-04-29 13:14:20 -04:00
5ecb645ee3
docs: smell cleanup plan
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-29 13:09:38 -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
22eb65d4a2
refactor: share mcp api calls
2026-04-29 05:37:24 -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
9cbba9ba13
chore: ignore local worktrees
2026-04-28 23:08:04 -04:00
b6aaec0b65
chore: update ruler docs
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-28 22:29:12 -04:00
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
c6c44a0914
fix(api): preserve unstable buckets
2026-04-28 21:34:47 -04:00
3fe5fdb63f
fix(core): handle partial listing data
2026-04-28 21:34:45 -04:00
7966073bf8
fix(core): prefer explicit cookie source
2026-04-28 21:34:40 -04:00
df2635d92f
chore: prepend typecheck command before biome ci
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-28 20:11:43 -04:00
ddadc7d5ae
chore: add bun types to global tsconfig
...
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev >
2026-04-28 20:07:05 -04:00
d77a006ded
chore: ignore .turbo cache dirs
2026-04-28 19:56:39 -04:00
56b2198df1
chore: fix turbo build outputs path to match actual dist location
2026-04-28 19:56:29 -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
f2f78225f3
chore: add workspace catalog and turbo to root package.json
2026-04-28 19:54:46 -04:00
43d15fce5f
chore: add shared root tsconfig.json
2026-04-28 19:53:58 -04:00
fef2f1968a
chore: add bunfig.toml and turbo.json
2026-04-28 19:53:47 -04:00
01081f6b2e
docs: add opencode monorepo config adoption implementation plan
2026-04-28 19:52:28 -04:00