← Leaderboard

andrewyng/openworker

View on GitHub ↗
Internal79

Unique within the repo — the other 21% repeats across its own files.

Public63

Unique across all public code — a further 16% is its own but appears in other public repos too.

Original and tidy — it rarely repeats itself, and little of it turns up in other public code. About as close to genuinely its own work as this metric can measure.

Worth consolidating — in the code

Real, actionable duplication in this repo's source, most concrete first.

Longest identical blocks

The longest runs of identical consecutive lines copied between two files (indentation ignored) — the most concrete copy-paste. Lift the block into a shared function or module.

LinesFile AFile BCross-repo
24 andrewyng/openworker/surfaces/gui/src/components/connectors/CalendarDetail.tsx:40 andrewyng/openworker/surfaces/gui/src/components/connectors/GmailDetail.tsx:42 same repo
17 andrewyng/openworker/surfaces/gui/src/components/connectors/GithubDetail.tsx:325 andrewyng/openworker/surfaces/gui/src/components/connectors/SlackDetail.tsx:610 same repo
16 andrewyng/openworker/tests/test_anthropic_provider.py:223 andrewyng/openworker/tests/test_gemini_provider.py:235 same repo
15 andrewyng/openworker/coworker/connectors/browser_automation.py:33 andrewyng/openworker/coworker/connectors/email_tools.py:318 same repo
15 andrewyng/openworker/surfaces/gui/src/components/PersonaView.test.tsx:8 andrewyng/openworker/surfaces/gui/src/components/Sidebar.test.tsx:9 same repo
11 andrewyng/openworker/coworker/connectors/gcal_accounts.py:86 andrewyng/openworker/coworker/connectors/gmail_accounts.py:91 same repo
11 andrewyng/openworker/coworker/providers/anthropic_provider.py:143 andrewyng/openworker/coworker/providers/gemini_provider.py:143 same repo
10 andrewyng/openworker/tests/test_engine.py:11 andrewyng/openworker/tests/test_engine_stop.py:12 same repo
9 andrewyng/openworker/surfaces/gui/src/components/connectors/AccountsDetail.tsx:46 andrewyng/openworker/surfaces/gui/src/components/connectors/CalendarDetail.tsx:40 same repo
9 andrewyng/openworker/surfaces/gui/src/components/connectors/AccountsDetail.tsx:46 andrewyng/openworker/surfaces/gui/src/components/connectors/GmailDetail.tsx:42 same repo
9 andrewyng/openworker/surfaces/gui/src/components/connectors/AccountsDetail.tsx:150 andrewyng/openworker/surfaces/gui/src/components/connectors/HubSpotDetail.tsx:128 same repo
9 andrewyng/openworker/surfaces/gui/src/components/connectors/CalendarDetail.tsx:123 andrewyng/openworker/surfaces/gui/src/components/connectors/HubSpotDetail.tsx:128 same repo
9 andrewyng/openworker/surfaces/gui/src/components/connectors/GmailDetail.tsx:127 andrewyng/openworker/surfaces/gui/src/components/connectors/HubSpotDetail.tsx:128 same repo
9 andrewyng/openworker/tests/test_gcal_accounts.py:27 andrewyng/openworker/tests/test_gmail_accounts.py:29 same repo
8 andrewyng/openworker/coworker/providers/anthropic_provider.py:26 andrewyng/openworker/coworker/providers/openai_provider.py:13 same repo
8 andrewyng/openworker/coworker/providers/gemini_provider.py:28 andrewyng/openworker/coworker/providers/openai_provider.py:13 same repo
8 andrewyng/openworker/surfaces/gui/src/components/Composer.tsx:627 andrewyng/openworker/surfaces/gui/src/components/Sidebar.tsx:780 same repo
8 andrewyng/openworker/surfaces/gui/src/components/ManageTabs.tsx:628 andrewyng/openworker/surfaces/gui/src/components/SettingsView.tsx:515 same repo
8 andrewyng/openworker/surfaces/gui/src/components/ManageTabs.tsx:37 andrewyng/openworker/surfaces/gui/src/providers/ProviderSetup.tsx:55 same repo
8 andrewyng/openworker/surfaces/gui/src/components/SubscriptionsChip.tsx:43 andrewyng/openworker/surfaces/gui/src/components/connectors/SlackDetail.tsx:398 same repo

Top duplication hotspots

SimilarityOverlapFile AFile BCross-repo
25% 496 andrewyng/openworker/coworker/providers/anthropic_provider.py andrewyng/openworker/coworker/providers/gemini_provider.py same repo
6% 403 andrewyng/openworker/coworker/server/app.py andrewyng/openworker/surfaces/gui/src/api.ts same repo
30% 359 andrewyng/openworker/surfaces/gui/src/components/connectors/GithubDetail.tsx andrewyng/openworker/surfaces/gui/src/components/connectors/SlackDetail.tsx same repo
5% 300 andrewyng/openworker/surfaces/gui/e2e/fixtures.ts andrewyng/openworker/surfaces/gui/src/api.ts same repo
4% 300 andrewyng/openworker/surfaces/gui/src/App.tsx andrewyng/openworker/surfaces/gui/src/components/Sidebar.tsx same repo
22% 293 andrewyng/openworker/tests/test_anthropic_provider.py andrewyng/openworker/tests/test_gemini_provider.py same repo
52% 274 andrewyng/openworker/coworker/connectors/gcal_accounts.py andrewyng/openworker/coworker/connectors/gmail_accounts.py same repo
41% 269 andrewyng/openworker/tests/test_gcal_accounts.py andrewyng/openworker/tests/test_gmail_accounts.py same repo
3% 268 andrewyng/openworker/coworker/server/app.py andrewyng/openworker/surfaces/gui/e2e/fixtures.ts same repo
11% 256 andrewyng/openworker/coworker/providers/anthropic_provider.py andrewyng/openworker/coworker/providers/openai_provider.py same repo
4% 252 andrewyng/openworker/coworker/engine.py andrewyng/openworker/coworker/server/app.py same repo
12% 250 andrewyng/openworker/coworker/connectors/adapters.py andrewyng/openworker/coworker/connectors/relay_client.py same repo
4% 240 andrewyng/openworker/coworker/connectors/descriptors.py andrewyng/openworker/surfaces/gui/e2e/fixtures.ts same repo
11% 237 andrewyng/openworker/coworker/providers/gemini_provider.py andrewyng/openworker/coworker/providers/openai_provider.py same repo
4% 210 andrewyng/openworker/coworker/cloud.py andrewyng/openworker/coworker/server/app.py same repo
3% 200 andrewyng/openworker/surfaces/gui/src/App.tsx andrewyng/openworker/surfaces/gui/src/api.ts same repo
35% 195 andrewyng/openworker/coworker/connectors/accounts.py andrewyng/openworker/coworker/connectors/gcal_accounts.py same repo
8% 195 andrewyng/openworker/surfaces/gui/src/components/ManageTabs.tsx andrewyng/openworker/surfaces/gui/src/components/connectors/SlackDetail.tsx same repo
3% 194 andrewyng/openworker/coworker/server/app.py andrewyng/openworker/tests/test_server.py same repo
4% 193 andrewyng/openworker/surfaces/gui/src/App.tsx andrewyng/openworker/surfaces/gui/src/components/Composer.tsx same repo

Duplicate declarations

The same function, variable, class, or type name declared in more than one file — a fast copy-paste signal. Consider extracting a shared definition.

FilesDeclarationWhere
39 fn capabilities andrewyng/openworker/coworker/providers/anthropic_provider.py
andrewyng/openworker/coworker/providers/base.py
andrewyng/openworker/coworker/providers/gemini_provider.py
+36 more
39 fn complete andrewyng/openworker/coworker/providers/anthropic_provider.py
andrewyng/openworker/coworker/providers/base.py
andrewyng/openworker/coworker/providers/gemini_provider.py
+36 more
17 var row andrewyng/openworker/surfaces/gui/e2e-live/persona-install.spec.ts
andrewyng/openworker/surfaces/gui/e2e/approval-card.spec.ts
andrewyng/openworker/surfaces/gui/e2e/cloud-signin-placement.spec.ts
+14 more
14 var box andrewyng/openworker/surfaces/gui/e2e-live/persona-install.spec.ts
andrewyng/openworker/surfaces/gui/e2e/approval-card.spec.ts
andrewyng/openworker/surfaces/gui/e2e/chat.spec.ts
+11 more
14 type connector andrewyng/openworker/surfaces/gui/src/api.ts
andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
andrewyng/openworker/surfaces/gui/src/components/AutomationQuickstart.tsx
+11 more
14 class ScriptedProvider andrewyng/openworker/tests/test_automation.py
andrewyng/openworker/tests/test_connections.py
andrewyng/openworker/tests/test_connectors_allowlist.py
+11 more
13 var busy andrewyng/openworker/surfaces/gui/src/components/GalleryModal.tsx
andrewyng/openworker/surfaces/gui/src/components/ManageTabs.tsx
andrewyng/openworker/surfaces/gui/src/components/PersonasTab.tsx
+10 more
13 fn get andrewyng/openworker/coworker/automation/store.py
andrewyng/openworker/coworker/connections.py
andrewyng/openworker/coworker/inbox.py
+10 more
13 var open andrewyng/openworker/surfaces/gui/src/App.tsx
andrewyng/openworker/surfaces/gui/src/api.ts
andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
+10 more
12 var card andrewyng/openworker/surfaces/gui/e2e/automations-manage.spec.ts
andrewyng/openworker/surfaces/gui/e2e/settings.spec.ts
andrewyng/openworker/surfaces/gui/e2e/slack-howitworks.spec.ts
+9 more
11 type CloudStatus andrewyng/openworker/surfaces/gui/src/api.ts
andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
andrewyng/openworker/surfaces/gui/src/components/AutomationQuickstart.tsx
+8 more
11 var label andrewyng/openworker/surfaces/gui/e2e/settings.spec.ts
andrewyng/openworker/surfaces/gui/src/components/AutomationQuickstart.tsx
andrewyng/openworker/surfaces/gui/src/components/Dropdown.tsx
+8 more
11 fn openConnectors andrewyng/openworker/surfaces/gui/e2e/accounts-page.spec.ts
andrewyng/openworker/surfaces/gui/e2e/available-detail.spec.ts
andrewyng/openworker/surfaces/gui/e2e/cloud-signin-placement.spec.ts
+8 more
11 var setInterval andrewyng/openworker/surfaces/gui/src/App.tsx
andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
andrewyng/openworker/surfaces/gui/src/components/InboxConfigure.tsx
+8 more
10 fn close andrewyng/openworker/coworker/audit.py
andrewyng/openworker/coworker/automation/store.py
andrewyng/openworker/coworker/connectors/browser_automation.py
+7 more
10 fn list andrewyng/openworker/coworker/audit.py
andrewyng/openworker/coworker/automation/store.py
andrewyng/openworker/coworker/connectors/parked.py
+7 more
10 fn stream andrewyng/openworker/coworker/providers/anthropic_provider.py
andrewyng/openworker/coworker/providers/base.py
andrewyng/openworker/coworker/providers/gemini_provider.py
+7 more
9 fn _load andrewyng/openworker/coworker/connections.py
andrewyng/openworker/coworker/connectors/parked.py
andrewyng/openworker/coworker/inbox.py
+6 more
9 fn _save andrewyng/openworker/coworker/connections.py
andrewyng/openworker/coworker/connectors/parked.py
andrewyng/openworker/coworker/inbox.py
+6 more
9 var load andrewyng/openworker/surfaces/gui/src/App.tsx
andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
andrewyng/openworker/surfaces/gui/src/components/InboxConfigure.tsx
+6 more
8 fn _tool andrewyng/openworker/tests/test_durable_resume.py
andrewyng/openworker/tests/test_gcal_accounts.py
andrewyng/openworker/tests/test_github_installs.py
+5 more
8 var add andrewyng/openworker/surfaces/gui/e2e/fixtures.ts
andrewyng/openworker/surfaces/gui/e2e/google-paused.spec.ts
andrewyng/openworker/surfaces/gui/src/components/InboxConfigure.tsx
+5 more
8 var BTN_ACCENT andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
andrewyng/openworker/surfaces/gui/src/components/AuditView.tsx
andrewyng/openworker/surfaces/gui/src/components/GalleryModal.tsx
+5 more
8 var recent andrewyng/openworker/surfaces/gui/src/App.tsx
andrewyng/openworker/surfaces/gui/src/components/AccessSection.tsx
andrewyng/openworker/surfaces/gui/src/components/AutomationQuickstart.tsx
+5 more
8 var refresh andrewyng/openworker/surfaces/gui/src/components/AuditView.tsx
andrewyng/openworker/surfaces/gui/src/components/AutomationQuickstart.tsx
andrewyng/openworker/surfaces/gui/src/components/Composer.tsx
+5 more

Largest files

Largest files

LOCFileStatus
1968andrewyng/openworker/coworker/server/app.pyindexed
1859andrewyng/openworker/surfaces/gui/src/api.tsindexed
1732andrewyng/openworker/surfaces/gui/src/App.tsxindexed
1727andrewyng/openworker/tests/test_connectors.pyindexed
1600andrewyng/openworker/surfaces/gui/src/styles.cssindexed
1493andrewyng/openworker/surfaces/gui/e2e/fixtures.tsindexed
1470andrewyng/openworker/coworker/connectors/descriptors.pyindexed
1378andrewyng/openworker/surfaces/gui/src/components/Sidebar.tsxindexed
1203andrewyng/openworker/coworker/connectors/tool_defs.pyindexed
1052andrewyng/openworker/tests/test_server.pyindexed