@@ -7,17 +7,17 @@ Each follows the same pattern: TypeScript interfaces + service class + `prepare*
77
88| Module | Lines | Executors | Key Complexity |
99| --------| -------| -----------| ----------------|
10- | ` linkedinProfile.ts ` | 8,448 | 14 (intro, sections, photos, skills, etc.) | Largest service; multi-step profile editing |
11- | ` linkedinPosts.ts ` | 5,216 | 3 (create, edit, delete) | Media handling, safety linting, async generators |
12- | ` linkedinInbox.ts ` | 4,097 | 5 (send, react, archive, mute, add recipients) | Thread state management, SelectorCandidate pattern |
13- | ` linkedinFeed.ts ` | 3,659 | 7 (like, comment, repost, share, save, unsave, remove) | Heavy selector fallback strategy |
14- | ` linkedinJobs.ts ` | 3,102 | 4 (save, unsave, apply, alert) | Complex form filling for Easy Apply |
15- | ` linkedinPublishing.ts ` | 2,676 | 2 (create article, publish newsletter) | Rich text composition |
16- | ` linkedinConnections.ts ` | 2,406 | 8 (send, accept, withdraw, ignore, remove, follow, unfollow) | Full relationship lifecycle |
10+ | ` linkedinProfile.ts ` | 9,564 | 14 (intro, sections, photos, skills, etc.) | Largest service; multi-step profile editing |
11+ | ` linkedinPosts.ts ` | 5,905 | 3 (create, edit, delete) | Media handling, safety linting, async generators |
12+ | ` linkedinInbox.ts ` | 4,287 | 5 (send, react, archive, mute, add recipients) | Thread state management, SelectorCandidate pattern |
13+ | ` linkedinFeed.ts ` | 4,190 | 7 (like, comment, repost, share, save, unsave, remove) | Heavy selector fallback strategy |
14+ | ` linkedinJobs.ts ` | 3,821 | 4 (save, unsave, apply, alert) | Complex form filling for Easy Apply |
15+ | ` linkedinPublishing.ts ` | 2,977 | 2 (create article, publish newsletter) | Rich text composition |
16+ | ` linkedinConnections.ts ` | 2,780 | 8 (send, accept, withdraw, ignore, remove, follow, unfollow) | Full relationship lifecycle |
1717
1818### Infrastructure
19- - ` runtime.ts ` — Service graph factory (519 lines). ** Central wiring point** — modify here to add services.
20- - ` twoPhaseCommit.ts ` — Prepare/confirm framework (542 lines). Security-critical: token sealing, expiry, DB persistence.
19+ - ` runtime.ts ` — Service graph factory (546 lines). ** Central wiring point** — modify here to add services.
20+ - ` twoPhaseCommit.ts ` — Prepare/confirm framework (685 lines). Security-critical: token sealing, expiry, DB persistence.
2121- ` config.ts ` — Config resolution (1,297 lines, 53 exports). Paths, evasion, locale, privacy, webhooks.
2222- ` db/database.ts ` — SQLite abstraction (2,615 lines, 50 exports). All persistent state lives here.
2323- ` rateLimiter.ts ` — Token bucket. ` peek() ` for preview, ` consume() ` for enforcement.
@@ -29,7 +29,7 @@ Each follows the same pattern: TypeScript interfaces + service class + `prepare*
2929- ` linkedinPage.ts ` — Page navigation, waiting strategies, selector helpers. Uses async generators.
3030
3131### Humanization & Evasion
32- - ` humanize.ts ` — Typing simulation (1,993 lines). Grapheme-level control, Intl.Segmenter for Unicode.
32+ - ` humanize.ts ` — Typing simulation (277 lines). Grapheme-level control, Intl.Segmenter for Unicode.
3333- ` evasion/ ` — Anti-bot subsystem (see ` evasion/AGENTS.md ` ).
3434
3535### Activity & Scheduling
@@ -58,3 +58,8 @@ Each follows the same pattern: TypeScript interfaces + service class + `prepare*
5858- ` SelectorCandidate[] ` arrays: define in priority order (role → attribute → text → xpath)
5959- All page interactions go through ` humanize() ` wrapper for typing, or ` evasion ` for mouse/scroll
6060- DB queries use prepared statements — never raw string interpolation
61+
62+
63+ ## Core Principle
64+
65+ ** GitHub is our source of truth.** Always check issue history, commits, and comments before starting implementation.
0 commit comments