jackwener
|
34a9bff2b3
|
refactor: eliminate code duplication, improve type safety, add tests
- NEW: src/interceptor.ts — unified XHR/Fetch interceptor (was duplicated 3x)
- NEW: src/version.ts — centralized PKG_VERSION (was duplicated 2x)
- NEW: src/constants.ts — shared VOLATILE_PARAMS, FIELD_ROLES etc.
- NEW: src/engine.test.ts, src/registry.test.ts — 14 new unit tests
- browser.ts: use shared normalizeEval, interceptor, withTimeoutMs, PKG_VERSION
- intercept.ts, tap.ts: use shared interceptor generators
- cascade.ts: extract shared buildFetchProbeJs (90% dedup)
- engine.ts: use InternalCliCommand (no more 'as any' casts)
- executor.ts: remove all 15 'as StepHandler' type casts
- runtime.ts: add withTimeoutMs, IBrowserFactory interface
- registry.ts: add InternalCliCommand type for internal fields
- validate.ts: add pipeline step name validation
- output.ts: remove 'null as any' and '.filter(() => true)' hacks
- explore.ts, synthesize.ts: use shared constants
- docs: fix V2EX commands (3→6), SKILL.md version, verify example
Tests: 88 passed (was 74), tsc --noEmit: 0 errors
|
2026-03-16 13:22:12 +08:00 |
|
jackwener
|
f8ee50b776
|
feat(bilibili): add following adapter — get user's followed accounts
Discovered via Playwright MCP Bridge workflow (CLI-CREATOR.md):
- Navigate to space.bilibili.com/{uid}/fans/follow
- Sniff network: GET /x/relation/followings (Cookie-tier, no Wbi needed)
- Verify API response: total=1342, fields: mid/uname/sign
Also fixed .d.ts loading bug in build-manifest.ts and engine.ts:
- build-manifest now scans .js files in dist/ (not .ts)
- engine.ts skips .d.js declaration stubs
|
2026-03-15 18:38:34 +08:00 |
|
jackwener
|
a47d687513
|
perf: extreme architectural optimizations
Phase 1: Smart autoScroll with MutationObserver (single IPC, instant DOM change detection)
Phase 2: Build-time CLI manifest compiler + lazy-loading engine (instant cold start)
Phase 3: Batch IPC fetch (N browser fetches in single evaluate() call)
|
2026-03-15 18:12:36 +08:00 |
|
jackwener
|
829172fc59
|
feat: introduce browser interception and auto-scroll utilities, enable dynamic loading of TypeScript CLIs, and add a JSON template filter
|
2026-03-15 15:42:19 +08:00 |
|
jackwener
|
0fd9adf0f5
|
feat: add 8 new sites — bbc, weibo, boss, yahoo-finance, reuters, smzdm, ctrip, youtube
New adapters ported from bb-sites:
- bbc/news: BBC News RSS headlines (public API)
- weibo/hot: 微博热搜 (browser)
- boss/search: BOSS直聘搜索职位 (browser)
- yahoo-finance/quote: 股票行情 (browser)
- reuters/search: 路透社新闻搜索 (browser)
- smzdm/search: 什么值得买搜索好价 (browser)
- ctrip/search: 携程旅行搜索 (browser)
- youtube/search: YouTube视频搜索 (browser)
Also: build script adds clean-yaml step, docs updated to 28 commands / 16 sites
|
2026-03-15 08:46:13 +08:00 |
|
jackwener
|
d4133f955b
|
feat: opencli TypeScript rewrite with 20 commands across 11 sites
|
2026-03-15 06:23:17 +08:00 |
|