Department of Vibe Code Assessment

Report Card

Student: openclaw/openclawTerm: April 6, 2026
Grade
0
Sloppy

Grades by Subject

Subject
Grade
Score
Issues
Security
F
0
6
Dependencies
A
94
1
Documentation
A
100
Test Coverage
A
100
Code Structure
F
0
634
Error Handling
F
0
15
Share on X

Teacher's Comments

Well, this feels like déjà vu with a twist of "why bother?" — over two million lines and 10,000 files, yet somehow hardcoded secrets are still the star of the show. Fifteen silent errors and six critical security flubs buried in testing and scripting files suggest a strong pattern of “Ship it and hope for the best.” On the bright side, someone actually wrote tests and documentation, so I guess you showed up to class... at least on paper.

Error Handling:Fifteen empty catch blocks that swallow errors like a black hole—congratulations on mastering the art of pretending problems don’t exist.
Code Structure:Six hundred thirty-four issues across 10,000 files; the code’s so tangled I’m surprised it compiles without crying.
Test Coverage:Perfect score—well, well, looks like you at least did the homework here. Did you write these, or did your AI tutor?
Security:Six critical hardcoded secrets and passwords scattered like a bad mixtape; this is the kind of stuff that gets you called to the principal’s office.
Dependencies:Almost perfect, but one issue suggests you’re still a little casual about what you bring into the party.
Documentation:Complete and spotless — someone actually read the syllabus and took notes. Color me surprised.

Areas for Improvement

(656)
critical·apps/macos/Tests/OpenClawIPCTests/GatewayEndpointStoreTests.swift:83

Hardcoded password found in source code

password: "launchd-pass"
In apps/macos/Tests/OpenClawIPCTests/GatewayEndpointStoreTests.swift at line 83, there's a hardcoded secret. Move it to an environment variable and add the file to .gitignore if needed.
critical·apps/macos/Tests/OpenClawIPCTests/GatewayEndpointStoreTests.swift:199

Hardcoded password found in source code

password: "launchd-pass"
In apps/macos/Tests/OpenClawIPCTests/GatewayEndpointStoreTests.swift at line 199, there's a hardcoded secret. Move it to an environment variable and add the file to .gitignore if needed.
critical·apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayChannel.swift:116

Hardcoded password found in source code

password = "password"
In apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayChannel.swift at line 116, there's a hardcoded secret. Move it to an environment variable and add the file to .gitignore if needed.
critical·extensions/microsoft-foundry/auth.ts:169

Hardcoded API key or secret found in source code

apiKey: "__entra_id_dynamic__"
In extensions/microsoft-foundry/auth.ts at line 169, there's a hardcoded secret. Move it to an environment variable and add the file to .gitignore if needed.
critical·scripts/e2e/openwebui-docker.sh:125

Hardcoded API key or secret found in source code

SECRET_KEY="openclaw-openwebui...
In scripts/e2e/openwebui-docker.sh at line 125, there's a hardcoded secret. Move it to an environment variable and add the file to .gitignore if needed.
critical·scripts/sandbox-browser-entrypoint.sh:115

Hardcoded password found in source code

PASSWORD="$(< /proc/sys/kernel...
In scripts/sandbox-browser-entrypoint.sh at line 115, there's a hardcoded secret. Move it to an environment variable and add the file to .gitignore if needed.
high·apps/android/app/src/main/java/ai/openclaw/app/node/CanvasController.kt:146

Empty catch block swallows errors silently

catch (_) {}
In apps/android/app/src/main/java/ai/openclaw/app/node/CanvasController.kt at line 146, there's an empty catch block. Add proper error handling — log the error and either re-throw or return an appropriate error response.
high·apps/android/app/src/main/java/ai/openclaw/app/node/CanvasController.kt:162

Empty catch block swallows errors silently

catch (_) {}
In apps/android/app/src/main/java/ai/openclaw/app/node/CanvasController.kt at line 162, there's an empty catch block. Add proper error handling — log the error and either re-throw or return an appropriate error response.
high·apps/ios/Sources/Screen/ScreenController.swift:116

Empty catch block swallows errors silently

catch (_) {}
In apps/ios/Sources/Screen/ScreenController.swift at line 116, there's an empty catch block. Add proper error handling — log the error and either re-throw or return an appropriate error response.
high·apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasScaffold/scaffold.html:21

Empty catch block swallows errors silently

catch (_) {}
In apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasScaffold/scaffold.html at line 21, there's an empty catch block. Add proper error handling — log the error and either re-throw or return an appropriate error response.
high·apps/shared/OpenClawKit/Sources/OpenClawKit/WebViewJavaScriptSupport.swift:24

Empty catch block swallows errors silently

catch (_) {}
In apps/shared/OpenClawKit/Sources/OpenClawKit/WebViewJavaScriptSupport.swift at line 24, there's an empty catch block. Add proper error handling — log the error and either re-throw or return an appropriate error response.
high·src/canvas-host/a2ui/index.html:19

Empty catch block swallows errors silently

catch (_) {}
In src/canvas-host/a2ui/index.html at line 19, there's an empty catch block. Add proper error handling — log the error and either re-throw or return an appropriate error response.
high·apps/android/app/src/main/java/ai/openclaw/app/NodeRuntime.kt

Large file (1206 code lines, 1382 total) — this is a real problem

1206 code lines (of 1382 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/NodeRuntime.kt has 1206 lines of code (1382 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewaySession.kt

Large file (953 code lines, 1039 total) — this is a real problem

953 code lines (of 1039 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewaySession.kt has 953 lines of code (1039 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/android/app/src/main/java/ai/openclaw/app/node/SmsManager.kt

Large file (966 code lines, 1127 total) — this is a real problem

966 code lines (of 1127 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/node/SmsManager.kt has 966 lines of code (1127 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt

Large file (1811 code lines, 1908 total) — this is a real problem

1811 code lines (of 1908 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt has 1811 lines of code (1908 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt

Deep nesting detected (13 levels) — refactor this

Max nesting depth: 13
apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt has 13 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
high·apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsSheet.kt

Large file (1292 code lines, 1351 total) — this is a real problem

1292 code lines (of 1351 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsSheet.kt has 1292 lines of code (1351 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/android/app/src/main/java/ai/openclaw/app/voice/TalkModeManager.kt

Large file (1000 code lines, 1132 total) — this is a real problem

1000 code lines (of 1132 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/voice/TalkModeManager.kt has 1000 lines of code (1132 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/ios/Sources/Gateway/GatewayConnectionController.swift

Large file (924 code lines, 1088 total) — this is a real problem

924 code lines (of 1088 total), threshold is 400
apps/ios/Sources/Gateway/GatewayConnectionController.swift has 924 lines of code (1088 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/ios/Sources/Model/NodeAppModel.swift

Large file (3252 code lines, 3611 total) — this is a real problem

3252 code lines (of 3611 total), threshold is 400
apps/ios/Sources/Model/NodeAppModel.swift has 3252 lines of code (3611 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/ios/Sources/Onboarding/OnboardingWizardView.swift

Large file (915 code lines, 1014 total) — this is a real problem

915 code lines (of 1014 total), threshold is 400
apps/ios/Sources/Onboarding/OnboardingWizardView.swift has 915 lines of code (1014 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/ios/Sources/Settings/SettingsTab.swift

Large file (945 code lines, 1053 total) — this is a real problem

945 code lines (of 1053 total), threshold is 400
apps/ios/Sources/Settings/SettingsTab.swift has 945 lines of code (1053 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/ios/Sources/Voice/TalkModeManager.swift

Large file (1979 code lines, 2200 total) — this is a real problem

1979 code lines (of 2200 total), threshold is 400
apps/ios/Sources/Voice/TalkModeManager.swift has 1979 lines of code (2200 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/DebugSettings.swift

Large file (934 code lines, 1006 total) — this is a real problem

934 code lines (of 1006 total), threshold is 400
apps/macos/Sources/OpenClaw/DebugSettings.swift has 934 lines of code (1006 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/ExecApprovals.swift

Large file (794 code lines, 888 total) — this is a real problem

794 code lines (of 888 total), threshold is 400
apps/macos/Sources/OpenClaw/ExecApprovals.swift has 794 lines of code (888 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/ExecApprovalsSocket.swift

Large file (816 code lines, 898 total) — this is a real problem

816 code lines (of 898 total), threshold is 400
apps/macos/Sources/OpenClaw/ExecApprovalsSocket.swift has 816 lines of code (898 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/MenuSessionsInjector.swift

Large file (1070 code lines, 1243 total) — this is a real problem

1070 code lines (of 1243 total), threshold is 400
apps/macos/Sources/OpenClaw/MenuSessionsInjector.swift has 1070 lines of code (1243 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/NodeMode/MacNodeRuntime.swift

Large file (969 code lines, 1034 total) — this is a real problem

969 code lines (of 1034 total), threshold is 400
apps/macos/Sources/OpenClaw/NodeMode/MacNodeRuntime.swift has 969 lines of code (1034 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/OnboardingView+Pages.swift

Large file (879 code lines, 941 total) — this is a real problem

879 code lines (of 941 total), threshold is 400
apps/macos/Sources/OpenClaw/OnboardingView+Pages.swift has 879 lines of code (941 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/macos/Sources/OpenClaw/TalkModeRuntime.swift

Large file (859 code lines, 977 total) — this is a real problem

859 code lines (of 977 total), threshold is 400
apps/macos/Sources/OpenClaw/TalkModeRuntime.swift has 859 lines of code (977 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatViewModel.swift

Large file (1026 code lines, 1176 total) — this is a real problem

1026 code lines (of 1176 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatViewModel.swift has 1026 lines of code (1176 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayChannel.swift

Large file (968 code lines, 1061 total) — this is a real problem

968 code lines (of 1061 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayChannel.swift has 968 lines of code (1061 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·apps/shared/OpenClawKit/Tests/OpenClawKitTests/ChatViewModelTests.swift

Large file (1413 code lines, 1686 total) — this is a real problem

1413 code lines (of 1686 total), threshold is 400
apps/shared/OpenClawKit/Tests/OpenClawKitTests/ChatViewModelTests.swift has 1413 lines of code (1686 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/acpx/src/transport/acp-client.ts

Large file (1656 code lines, 1870 total) — this is a real problem

1656 code lines (of 1870 total), threshold is 400
extensions/acpx/src/transport/acp-client.ts has 1656 lines of code (1870 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/bluebubbles/src/monitor-normalize.ts

Large file (781 code lines, 848 total) — this is a real problem

781 code lines (of 848 total), threshold is 400
extensions/bluebubbles/src/monitor-normalize.ts has 781 lines of code (848 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/bluebubbles/src/monitor-processing.ts

Large file (1613 code lines, 1744 total) — this is a real problem

1613 code lines (of 1744 total), threshold is 400
extensions/bluebubbles/src/monitor-processing.ts has 1613 lines of code (1744 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/browser/src/browser/pw-session.ts

Large file (986 code lines, 1133 total) — this is a real problem

986 code lines (of 1133 total), threshold is 400
extensions/browser/src/browser/pw-session.ts has 986 lines of code (1133 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/browser/src/browser/pw-tools-core.interactions.ts

Large file (835 code lines, 891 total) — this is a real problem

835 code lines (of 891 total), threshold is 400
extensions/browser/src/browser/pw-tools-core.interactions.ts has 835 lines of code (891 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/browser/src/browser/routes/agent.act.ts

Large file (1192 code lines, 1211 total) — this is a real problem

1192 code lines (of 1211 total), threshold is 400
extensions/browser/src/browser/routes/agent.act.ts has 1192 lines of code (1211 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/channel.ts

Large file (893 code lines, 927 total) — this is a real problem

893 code lines (of 927 total), threshold is 400
extensions/discord/src/channel.ts has 893 lines of code (927 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/components.ts

Large file (1074 code lines, 1136 total) — this is a real problem

1074 code lines (of 1136 total), threshold is 400
extensions/discord/src/components.ts has 1074 lines of code (1136 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/agent-components-helpers.ts

Large file (804 code lines, 864 total) — this is a real problem

804 code lines (of 864 total), threshold is 400
extensions/discord/src/monitor/agent-components-helpers.ts has 804 lines of code (864 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/agent-components.ts

Large file (1330 code lines, 1449 total) — this is a real problem

1330 code lines (of 1449 total), threshold is 400
extensions/discord/src/monitor/agent-components.ts has 1330 lines of code (1449 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/exec-approvals.ts

Large file (785 code lines, 865 total) — this is a real problem

785 code lines (of 865 total), threshold is 400
extensions/discord/src/monitor/exec-approvals.ts has 785 lines of code (865 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/message-handler.preflight.ts

Large file (1042 code lines, 1108 total) — this is a real problem

1042 code lines (of 1108 total), threshold is 400
extensions/discord/src/monitor/message-handler.preflight.ts has 1042 lines of code (1108 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/message-handler.process.ts

Large file (949 code lines, 997 total) — this is a real problem

949 code lines (of 997 total), threshold is 400
extensions/discord/src/monitor/message-handler.process.ts has 949 lines of code (997 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/model-picker.ts

Large file (837 code lines, 946 total) — this is a real problem

837 code lines (of 946 total), threshold is 400
extensions/discord/src/monitor/model-picker.ts has 837 lines of code (946 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/native-command-ui.ts

Large file (1018 code lines, 1100 total) — this is a real problem

1018 code lines (of 1100 total), threshold is 400
extensions/discord/src/monitor/native-command-ui.ts has 1018 lines of code (1100 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/native-command.ts

Large file (1300 code lines, 1340 total) — this is a real problem

1300 code lines (of 1340 total), threshold is 400
extensions/discord/src/monitor/native-command.ts has 1300 lines of code (1340 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/monitor/provider.ts

Large file (1142 code lines, 1206 total) — this is a real problem

1142 code lines (of 1206 total), threshold is 400
extensions/discord/src/monitor/provider.ts has 1142 lines of code (1206 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/discord/src/voice/manager.ts

Large file (884 code lines, 951 total) — this is a real problem

884 code lines (of 951 total), threshold is 400
extensions/discord/src/voice/manager.ts has 884 lines of code (951 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/feishu/src/bot.ts

Large file (1124 code lines, 1286 total) — this is a real problem

1124 code lines (of 1286 total), threshold is 400
extensions/feishu/src/bot.ts has 1124 lines of code (1286 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/feishu/src/channel.ts

Large file (1181 code lines, 1225 total) — this is a real problem

1181 code lines (of 1225 total), threshold is 400
extensions/feishu/src/channel.ts has 1181 lines of code (1225 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/feishu/src/docx.ts

Large file (1342 code lines, 1580 total) — this is a real problem

1342 code lines (of 1580 total), threshold is 400
extensions/feishu/src/docx.ts has 1342 lines of code (1580 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/feishu/src/drive.ts

Large file (822 code lines, 892 total) — this is a real problem

822 code lines (of 892 total), threshold is 400
extensions/feishu/src/drive.ts has 822 lines of code (892 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/feishu/src/monitor.account.ts

Large file (841 code lines, 888 total) — this is a real problem

841 code lines (of 888 total), threshold is 400
extensions/feishu/src/monitor.account.ts has 841 lines of code (888 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/matrix/src/cli.ts

Large file (1129 code lines, 1197 total) — this is a real problem

1129 code lines (of 1197 total), threshold is 400
extensions/matrix/src/cli.ts has 1129 lines of code (1197 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/matrix/src/matrix/client/config.ts

Large file (825 code lines, 896 total) — this is a real problem

825 code lines (of 896 total), threshold is 400
extensions/matrix/src/matrix/client/config.ts has 825 lines of code (896 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/matrix/src/matrix/monitor/handler.ts

Large file (1572 code lines, 1660 total) — this is a real problem

1572 code lines (of 1660 total), threshold is 400
extensions/matrix/src/matrix/monitor/handler.ts has 1572 lines of code (1660 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/matrix/src/matrix/sdk.ts

Large file (1497 code lines, 1655 total) — this is a real problem

1497 code lines (of 1655 total), threshold is 400
extensions/matrix/src/matrix/sdk.ts has 1497 lines of code (1655 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/mattermost/src/mattermost/monitor.ts

Large file (1630 code lines, 1741 total) — this is a real problem

1630 code lines (of 1741 total), threshold is 400
extensions/mattermost/src/mattermost/monitor.ts has 1630 lines of code (1741 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/memory-core/src/cli.runtime.ts

Large file (1258 code lines, 1318 total) — this is a real problem

1258 code lines (of 1318 total), threshold is 400
extensions/memory-core/src/cli.runtime.ts has 1258 lines of code (1318 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/memory-core/src/dreaming-phases.ts

Large file (1195 code lines, 1276 total) — this is a real problem

1195 code lines (of 1276 total), threshold is 400
extensions/memory-core/src/dreaming-phases.ts has 1195 lines of code (1276 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/memory-core/src/memory/manager-sync-ops.ts

Large file (1305 code lines, 1398 total) — this is a real problem

1305 code lines (of 1398 total), threshold is 400
extensions/memory-core/src/memory/manager-sync-ops.ts has 1305 lines of code (1398 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/memory-core/src/memory/manager.ts

Large file (911 code lines, 974 total) — this is a real problem

911 code lines (of 974 total), threshold is 400
extensions/memory-core/src/memory/manager.ts has 911 lines of code (974 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/memory-core/src/memory/qmd-manager.ts

Large file (2456 code lines, 2704 total) — this is a real problem

2456 code lines (of 2704 total), threshold is 400
extensions/memory-core/src/memory/qmd-manager.ts has 2456 lines of code (2704 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/memory-core/src/short-term-promotion.ts

Large file (1453 code lines, 1569 total) — this is a real problem

1453 code lines (of 1569 total), threshold is 400
extensions/memory-core/src/short-term-promotion.ts has 1453 lines of code (1569 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/msteams/src/channel.ts

Large file (961 code lines, 1012 total) — this is a real problem

961 code lines (of 1012 total), threshold is 400
extensions/msteams/src/channel.ts has 961 lines of code (1012 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/msteams/src/monitor-handler/message-handler.ts

Large file (791 code lines, 840 total) — this is a real problem

791 code lines (of 840 total), threshold is 400
extensions/msteams/src/monitor-handler/message-handler.ts has 791 lines of code (840 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/perplexity/src/perplexity-web-search-provider.ts

Deep nesting detected (9 levels) — refactor this

Max nesting depth: 9
extensions/perplexity/src/perplexity-web-search-provider.ts has 9 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
high·extensions/qa-lab/src/suite.ts

Large file (1712 code lines, 1754 total) — this is a real problem

1712 code lines (of 1754 total), threshold is 400
extensions/qa-lab/src/suite.ts has 1712 lines of code (1754 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/qqbot/src/api.ts

Large file (862 code lines, 991 total) — this is a real problem

862 code lines (of 991 total), threshold is 400
extensions/qqbot/src/api.ts has 862 lines of code (991 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/qqbot/src/gateway.ts

Large file (1324 code lines, 1476 total) — this is a real problem

1324 code lines (of 1476 total), threshold is 400
extensions/qqbot/src/gateway.ts has 1324 lines of code (1476 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/qqbot/src/outbound.ts

Large file (1229 code lines, 1444 total) — this is a real problem

1229 code lines (of 1444 total), threshold is 400
extensions/qqbot/src/outbound.ts has 1229 lines of code (1444 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/signal/src/monitor/event-handler.ts

Large file (831 code lines, 874 total) — this is a real problem

831 code lines (of 874 total), threshold is 400
extensions/signal/src/monitor/event-handler.ts has 831 lines of code (874 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/slack/src/monitor/events/interactions.block-actions.ts

Large file (761 code lines, 796 total) — this is a real problem

761 code lines (of 796 total), threshold is 400
extensions/slack/src/monitor/events/interactions.block-actions.ts has 761 lines of code (796 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/slack/src/monitor/message-handler/prepare.ts

Large file (768 code lines, 833 total) — this is a real problem

768 code lines (of 833 total), threshold is 400
extensions/slack/src/monitor/message-handler/prepare.ts has 768 lines of code (833 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/slack/src/monitor/slash.ts

Large file (824 code lines, 874 total) — this is a real problem

824 code lines (of 874 total), threshold is 400
extensions/slack/src/monitor/slash.ts has 824 lines of code (874 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/speech-core/src/tts.ts

Large file (1039 code lines, 1127 total) — this is a real problem

1039 code lines (of 1127 total), threshold is 400
extensions/speech-core/src/tts.ts has 1039 lines of code (1127 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/tavily/src/tavily-client.ts

Deep nesting detected (9 levels) — refactor this

Max nesting depth: 9
extensions/tavily/src/tavily-client.ts has 9 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
high·extensions/telegram/src/bot-handlers.runtime.ts

Large file (1750 code lines, 1877 total) — this is a real problem

1750 code lines (of 1877 total), threshold is 400
extensions/telegram/src/bot-handlers.runtime.ts has 1750 lines of code (1877 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/telegram/src/bot-message-dispatch.ts

Large file (924 code lines, 994 total) — this is a real problem

924 code lines (of 994 total), threshold is 400
extensions/telegram/src/bot-message-dispatch.ts has 924 lines of code (994 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/telegram/src/bot-native-commands.ts

Large file (1104 code lines, 1148 total) — this is a real problem

1104 code lines (of 1148 total), threshold is 400
extensions/telegram/src/bot-native-commands.ts has 1104 lines of code (1148 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/telegram/src/channel.ts

Large file (1104 code lines, 1131 total) — this is a real problem

1104 code lines (of 1131 total), threshold is 400
extensions/telegram/src/channel.ts has 1104 lines of code (1131 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/telegram/src/send.ts

Large file (1549 code lines, 1739 total) — this is a real problem

1549 code lines (of 1739 total), threshold is 400
extensions/telegram/src/send.ts has 1549 lines of code (1739 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/telegram/src/thread-bindings.ts

Large file (817 code lines, 867 total) — this is a real problem

817 code lines (of 867 total), threshold is 400
extensions/telegram/src/thread-bindings.ts has 817 lines of code (867 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/tlon/src/monitor/index.ts

Large file (1211 code lines, 1427 total) — this is a real problem

1211 code lines (of 1427 total), threshold is 400
extensions/tlon/src/monitor/index.ts has 1211 lines of code (1427 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/tlon/src/monitor/index.ts

Deep nesting detected (9 levels) — refactor this

Max nesting depth: 9
extensions/tlon/src/monitor/index.ts has 9 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
high·extensions/zalo/src/monitor.ts

Large file (755 code lines, 811 total) — this is a real problem

755 code lines (of 811 total), threshold is 400
extensions/zalo/src/monitor.ts has 755 lines of code (811 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/zalouser/src/monitor.ts

Large file (934 code lines, 989 total) — this is a real problem

934 code lines (of 989 total), threshold is 400
extensions/zalouser/src/monitor.ts has 934 lines of code (989 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·extensions/zalouser/src/zalo-js.ts

Large file (1544 code lines, 1694 total) — this is a real problem

1544 code lines (of 1694 total), threshold is 400
extensions/zalouser/src/zalo-js.ts has 1544 lines of code (1694 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/audit-seams.mjs

Large file (948 code lines, 1035 total) — this is a real problem

948 code lines (of 1035 total), threshold is 400
scripts/audit-seams.mjs has 948 lines of code (1035 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/control-ui-i18n.ts

Large file (1197 code lines, 1324 total) — this is a real problem

1197 code lines (of 1324 total), threshold is 400
scripts/control-ui-i18n.ts has 1197 lines of code (1324 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/dev/discord-acp-plain-language-smoke.ts

Large file (773 code lines, 842 total) — this is a real problem

773 code lines (of 842 total), threshold is 400
scripts/dev/discord-acp-plain-language-smoke.ts has 773 lines of code (842 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/e2e/parallels-linux-smoke.sh

Large file (820 code lines, 911 total) — this is a real problem

820 code lines (of 911 total), threshold is 400
scripts/e2e/parallels-linux-smoke.sh has 820 lines of code (911 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/e2e/parallels-macos-smoke.sh

Large file (1353 code lines, 1488 total) — this is a real problem

1353 code lines (of 1488 total), threshold is 400
scripts/e2e/parallels-macos-smoke.sh has 1353 lines of code (1488 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/e2e/parallels-npm-update-smoke.sh

Large file (798 code lines, 899 total) — this is a real problem

798 code lines (of 899 total), threshold is 400
scripts/e2e/parallels-npm-update-smoke.sh has 798 lines of code (899 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/e2e/parallels-windows-smoke.sh

Large file (1351 code lines, 1482 total) — this is a real problem

1351 code lines (of 1482 total), threshold is 400
scripts/e2e/parallels-windows-smoke.sh has 1351 lines of code (1482 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/e2e/plugins-docker.sh

Large file (829 code lines, 913 total) — this is a real problem

829 code lines (of 913 total), threshold is 400
scripts/e2e/plugins-docker.sh has 829 lines of code (913 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/install.sh

Large file (2236 code lines, 2556 total) — this is a real problem

2236 code lines (of 2556 total), threshold is 400
scripts/install.sh has 2236 lines of code (2556 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·scripts/label-open-issues.ts

Large file (756 code lines, 890 total) — this is a real problem

756 code lines (of 890 total), threshold is 400
scripts/label-open-issues.ts has 756 lines of code (890 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/acp/control-plane/manager.core.ts

Large file (1905 code lines, 1997 total) — this is a real problem

1905 code lines (of 1997 total), threshold is 400
src/acp/control-plane/manager.core.ts has 1905 lines of code (1997 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/acp/translator.ts

Large file (1293 code lines, 1404 total) — this is a real problem

1293 code lines (of 1404 total), threshold is 400
src/acp/translator.ts has 1293 lines of code (1404 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/acp-spawn.ts

Large file (1136 code lines, 1228 total) — this is a real problem

1136 code lines (of 1228 total), threshold is 400
src/agents/acp-spawn.ts has 1136 lines of code (1228 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/agent-command.ts

Large file (952 code lines, 1005 total) — this is a real problem

952 code lines (of 1005 total), threshold is 400
src/agents/agent-command.ts has 952 lines of code (1005 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/anthropic-transport-stream.ts

Large file (841 code lines, 862 total) — this is a real problem

841 code lines (of 862 total), threshold is 400
src/agents/anthropic-transport-stream.ts has 841 lines of code (862 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/auth-profiles/usage.ts

Large file (805 code lines, 970 total) — this is a real problem

805 code lines (of 970 total), threshold is 400
src/agents/auth-profiles/usage.ts has 805 lines of code (970 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/bash-tools.exec-runtime.ts

Large file (763 code lines, 822 total) — this is a real problem

763 code lines (of 822 total), threshold is 400
src/agents/bash-tools.exec-runtime.ts has 763 lines of code (822 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/bash-tools.exec.ts

Large file (1556 code lines, 1658 total) — this is a real problem

1556 code lines (of 1658 total), threshold is 400
src/agents/bash-tools.exec.ts has 1556 lines of code (1658 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/model-fallback.ts

Large file (828 code lines, 941 total) — this is a real problem

828 code lines (of 941 total), threshold is 400
src/agents/model-fallback.ts has 828 lines of code (941 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/model-selection.ts

Large file (754 code lines, 838 total) — this is a real problem

754 code lines (of 838 total), threshold is 400
src/agents/model-selection.ts has 754 lines of code (838 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/openai-transport-stream.ts

Large file (1305 code lines, 1349 total) — this is a real problem

1305 code lines (of 1349 total), threshold is 400
src/agents/openai-transport-stream.ts has 1305 lines of code (1349 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/openai-ws-stream.ts

Large file (1120 code lines, 1262 total) — this is a real problem

1120 code lines (of 1262 total), threshold is 400
src/agents/openai-ws-stream.ts has 1120 lines of code (1262 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/pi-embedded-helpers/errors.ts

Large file (1106 code lines, 1302 total) — this is a real problem

1106 code lines (of 1302 total), threshold is 400
src/agents/pi-embedded-helpers/errors.ts has 1106 lines of code (1302 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/pi-embedded-runner/compact.ts

Large file (1197 code lines, 1288 total) — this is a real problem

1197 code lines (of 1288 total), threshold is 400
src/agents/pi-embedded-runner/compact.ts has 1197 lines of code (1288 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/pi-embedded-runner/run/attempt.ts

Large file (1940 code lines, 2121 total) — this is a real problem

1940 code lines (of 2121 total), threshold is 400
src/agents/pi-embedded-runner/run/attempt.ts has 1940 lines of code (2121 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/pi-embedded-runner/run.ts

Large file (1448 code lines, 1529 total) — this is a real problem

1448 code lines (of 1529 total), threshold is 400
src/agents/pi-embedded-runner/run.ts has 1448 lines of code (1529 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/pi-embedded-subscribe.handlers.tools.ts

Large file (1016 code lines, 1091 total) — this is a real problem

1016 code lines (of 1091 total), threshold is 400
src/agents/pi-embedded-subscribe.handlers.tools.ts has 1016 lines of code (1091 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/pi-hooks/compaction-safeguard.ts

Large file (874 code lines, 973 total) — this is a real problem

874 code lines (of 973 total), threshold is 400
src/agents/pi-hooks/compaction-safeguard.ts has 874 lines of code (973 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/skills/workspace.ts

Large file (762 code lines, 857 total) — this is a real problem

762 code lines (of 857 total), threshold is 400
src/agents/skills/workspace.ts has 762 lines of code (857 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/subagent-control.ts

Large file (921 code lines, 976 total) — this is a real problem

921 code lines (of 976 total), threshold is 400
src/agents/subagent-control.ts has 921 lines of code (976 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/subagent-spawn.ts

Large file (849 code lines, 931 total) — this is a real problem

849 code lines (of 931 total), threshold is 400
src/agents/subagent-spawn.ts has 849 lines of code (931 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/system-prompt.ts

Large file (758 code lines, 813 total) — this is a real problem

758 code lines (of 813 total), threshold is 400
src/agents/system-prompt.ts has 758 lines of code (813 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/tools/message-tool.ts

Large file (750 code lines, 805 total) — this is a real problem

750 code lines (of 805 total), threshold is 400
src/agents/tools/message-tool.ts has 750 lines of code (805 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/agents/tools/video-generate-tool.ts

Large file (861 code lines, 897 total) — this is a real problem

861 code lines (of 897 total), threshold is 400
src/agents/tools/video-generate-tool.ts has 861 lines of code (897 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/auto-reply/commands-registry.shared.ts

Large file (820 code lines, 830 total) — this is a real problem

820 code lines (of 830 total), threshold is 400
src/auto-reply/commands-registry.shared.ts has 820 lines of code (830 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/auto-reply/reply/agent-runner.ts

Large file (812 code lines, 871 total) — this is a real problem

812 code lines (of 871 total), threshold is 400
src/auto-reply/reply/agent-runner.ts has 812 lines of code (871 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/auto-reply/reply/commands-acp/lifecycle.ts

Large file (810 code lines, 855 total) — this is a real problem

810 code lines (of 855 total), threshold is 400
src/auto-reply/reply/commands-acp/lifecycle.ts has 810 lines of code (855 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/auto-reply/reply/dispatch-from-config.ts

Large file (950 code lines, 1041 total) — this is a real problem

950 code lines (of 1041 total), threshold is 400
src/auto-reply/reply/dispatch-from-config.ts has 950 lines of code (1041 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/auto-reply/reply/export-html/template.js

Large file (1496 code lines, 1875 total) — this is a real problem

1496 code lines (of 1875 total), threshold is 400
src/auto-reply/reply/export-html/template.js has 1496 lines of code (1875 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/auto-reply/status.ts

Large file (1050 code lines, 1150 total) — this is a real problem

1050 code lines (of 1150 total), threshold is 400
src/auto-reply/status.ts has 1050 lines of code (1150 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/channels/plugins/setup-wizard-helpers.ts

Large file (1541 code lines, 1630 total) — this is a real problem

1541 code lines (of 1630 total), threshold is 400
src/channels/plugins/setup-wizard-helpers.ts has 1541 lines of code (1630 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/channels/plugins/setup-wizard.ts

Large file (842 code lines, 880 total) — this is a real problem

842 code lines (of 880 total), threshold is 400
src/channels/plugins/setup-wizard.ts has 842 lines of code (880 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/channels/plugins/types.adapters.ts

Large file (828 code lines, 958 total) — this is a real problem

828 code lines (of 958 total), threshold is 400
src/channels/plugins/types.adapters.ts has 828 lines of code (958 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/cli/command-secret-gateway.ts

Large file (766 code lines, 814 total) — this is a real problem

766 code lines (of 814 total), threshold is 400
src/cli/command-secret-gateway.ts has 766 lines of code (814 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/cli/config-cli.ts

Large file (1362 code lines, 1445 total) — this is a real problem

1362 code lines (of 1445 total), threshold is 400
src/cli/config-cli.ts has 1362 lines of code (1445 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/cli/plugins-cli.ts

Large file (848 code lines, 905 total) — this is a real problem

848 code lines (of 905 total), threshold is 400
src/cli/plugins-cli.ts has 848 lines of code (905 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/cli/update-cli/update-command.ts

Large file (1049 code lines, 1144 total) — this is a real problem

1049 code lines (of 1144 total), threshold is 400
src/cli/update-cli/update-command.ts has 1049 lines of code (1144 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/commands/doctor-state-integrity.ts

Large file (790 code lines, 854 total) — this is a real problem

790 code lines (of 854 total), threshold is 400
src/commands/doctor-state-integrity.ts has 790 lines of code (854 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/commands/health.ts

Large file (785 code lines, 845 total) — this is a real problem

785 code lines (of 845 total), threshold is 400
src/commands/health.ts has 785 lines of code (845 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/commands/onboard-custom.ts

Large file (833 code lines, 921 total) — this is a real problem

833 code lines (of 921 total), threshold is 400
src/commands/onboard-custom.ts has 833 lines of code (921 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/commands/status.command.ts

Large file (755 code lines, 798 total) — this is a real problem

755 code lines (of 798 total), threshold is 400
src/commands/status.command.ts has 755 lines of code (798 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/config/io.ts

Large file (2355 code lines, 2589 total) — this is a real problem

2355 code lines (of 2589 total), threshold is 400
src/config/io.ts has 2355 lines of code (2589 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/config/sessions/store.ts

Large file (757 code lines, 832 total) — this is a real problem

757 code lines (of 832 total), threshold is 400
src/config/sessions/store.ts has 757 lines of code (832 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/config/validation.ts

Large file (897 code lines, 998 total) — this is a real problem

897 code lines (of 998 total), threshold is 400
src/config/validation.ts has 897 lines of code (998 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/cron/service/jobs.ts

Large file (781 code lines, 863 total) — this is a real problem

781 code lines (of 863 total), threshold is 400
src/cron/service/jobs.ts has 781 lines of code (863 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/cron/service/timer.ts

Large file (1211 code lines, 1395 total) — this is a real problem

1211 code lines (of 1395 total), threshold is 400
src/cron/service/timer.ts has 1211 lines of code (1395 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/daemon/schtasks.ts

Large file (793 code lines, 858 total) — this is a real problem

793 code lines (of 858 total), threshold is 400
src/daemon/schtasks.ts has 793 lines of code (858 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/call.ts

Large file (885 code lines, 958 total) — this is a real problem

885 code lines (of 958 total), threshold is 400
src/gateway/call.ts has 885 lines of code (958 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/client.ts

Large file (853 code lines, 914 total) — this is a real problem

853 code lines (of 914 total), threshold is 400
src/gateway/client.ts has 853 lines of code (914 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/openresponses-http.ts

Large file (997 code lines, 1121 total) — this is a real problem

997 code lines (of 1121 total), threshold is 400
src/gateway/openresponses-http.ts has 997 lines of code (1121 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server/ws-connection/message-handler.ts

Large file (1365 code lines, 1433 total) — this is a real problem

1365 code lines (of 1433 total), threshold is 400
src/gateway/server/ws-connection/message-handler.ts has 1365 lines of code (1433 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-chat.ts

Large file (808 code lines, 887 total) — this is a real problem

808 code lines (of 887 total), threshold is 400
src/gateway/server-chat.ts has 808 lines of code (887 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-http.ts

Large file (1057 code lines, 1118 total) — this is a real problem

1057 code lines (of 1118 total), threshold is 400
src/gateway/server-http.ts has 1057 lines of code (1118 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-methods/agent.ts

Large file (940 code lines, 998 total) — this is a real problem

940 code lines (of 998 total), threshold is 400
src/gateway/server-methods/agent.ts has 940 lines of code (998 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-methods/agents.ts

Large file (812 code lines, 881 total) — this is a real problem

812 code lines (of 881 total), threshold is 400
src/gateway/server-methods/agents.ts has 812 lines of code (881 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-methods/chat.ts

Large file (1794 code lines, 1949 total) — this is a real problem

1794 code lines (of 1949 total), threshold is 400
src/gateway/server-methods/chat.ts has 1794 lines of code (1949 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-methods/nodes.ts

Large file (1064 code lines, 1105 total) — this is a real problem

1064 code lines (of 1105 total), threshold is 400
src/gateway/server-methods/nodes.ts has 1064 lines of code (1105 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-methods/sessions.ts

Large file (1182 code lines, 1232 total) — this is a real problem

1182 code lines (of 1232 total), threshold is 400
src/gateway/server-methods/sessions.ts has 1182 lines of code (1232 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server-methods/usage.ts

Large file (788 code lines, 893 total) — this is a real problem

788 code lines (of 893 total), threshold is 400
src/gateway/server-methods/usage.ts has 788 lines of code (893 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server.auth.control-ui.suite.ts

Large file (1321 code lines, 1419 total) — this is a real problem

1321 code lines (of 1419 total), threshold is 400
src/gateway/server.auth.control-ui.suite.ts has 1321 lines of code (1419 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/server.impl.ts

Large file (1465 code lines, 1579 total) — this is a real problem

1465 code lines (of 1579 total), threshold is 400
src/gateway/server.impl.ts has 1465 lines of code (1579 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/session-utils.ts

Large file (1366 code lines, 1457 total) — this is a real problem

1366 code lines (of 1457 total), threshold is 400
src/gateway/session-utils.ts has 1366 lines of code (1457 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/gateway/test-helpers.server.ts

Large file (994 code lines, 1051 total) — this is a real problem

994 code lines (of 1051 total), threshold is 400
src/gateway/test-helpers.server.ts has 994 lines of code (1051 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/boundary-path.ts

Large file (790 code lines, 861 total) — this is a real problem

790 code lines (of 861 total), threshold is 400
src/infra/boundary-path.ts has 790 lines of code (861 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/device-pairing.ts

Large file (921 code lines, 993 total) — this is a real problem

921 code lines (of 993 total), threshold is 400
src/infra/device-pairing.ts has 921 lines of code (993 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/exec-approvals-allowlist.ts

Large file (1114 code lines, 1210 total) — this is a real problem

1114 code lines (of 1210 total), threshold is 400
src/infra/exec-approvals-allowlist.ts has 1114 lines of code (1210 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/exec-approvals.ts

Large file (934 code lines, 1009 total) — this is a real problem

934 code lines (of 1009 total), threshold is 400
src/infra/exec-approvals.ts has 934 lines of code (1009 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/fs-safe.ts

Large file (958 code lines, 1034 total) — this is a real problem

958 code lines (of 1034 total), threshold is 400
src/infra/fs-safe.ts has 958 lines of code (1034 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/heartbeat-runner.ts

Large file (1168 code lines, 1321 total) — this is a real problem

1168 code lines (of 1321 total), threshold is 400
src/infra/heartbeat-runner.ts has 1168 lines of code (1321 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/outbound/deliver.ts

Large file (772 code lines, 818 total) — this is a real problem

772 code lines (of 818 total), threshold is 400
src/infra/outbound/deliver.ts has 772 lines of code (818 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/outbound/message-action-runner.ts

Large file (791 code lines, 834 total) — this is a real problem

791 code lines (of 834 total), threshold is 400
src/infra/outbound/message-action-runner.ts has 791 lines of code (834 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/push-apns.ts

Large file (1055 code lines, 1155 total) — this is a real problem

1055 code lines (of 1155 total), threshold is 400
src/infra/push-apns.ts has 1055 lines of code (1155 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/session-cost-usage.ts

Large file (960 code lines, 1088 total) — this is a real problem

960 code lines (of 1088 total), threshold is 400
src/infra/session-cost-usage.ts has 960 lines of code (1088 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/state-migrations.ts

Large file (1087 code lines, 1226 total) — this is a real problem

1087 code lines (of 1226 total), threshold is 400
src/infra/state-migrations.ts has 1087 lines of code (1226 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/infra/update-runner.ts

Large file (979 code lines, 1049 total) — this is a real problem

979 code lines (of 1049 total), threshold is 400
src/infra/update-runner.ts has 979 lines of code (1049 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
high·src/markdown/ir.ts

Large file (912 code lines, 1009 total) — this is a real problem

912 code lines (of 1009 total), threshold is 400
src/markdown/ir.ts has 912 lines of code (1009 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/cli.ts

High console.log density (74 instances) — likely debug code left in production

74 console.log calls in 1197 lines
In extensions/matrix/src/cli.ts, there are 74 console.log statements. Replace with a proper logging library or remove debug logs before shipping.
medium·extensions/voice-call/src/manager/events.ts

High console.log density (6 instances) — likely debug code left in production

6 console.log calls in 250 lines
In extensions/voice-call/src/manager/events.ts, there are 6 console.log statements. Replace with a proper logging library or remove debug logs before shipping.
medium·extensions/voice-call/src/manager/outbound.ts

High console.log density (7 instances) — likely debug code left in production

7 console.log calls in 389 lines
In extensions/voice-call/src/manager/outbound.ts, there are 7 console.log statements. Replace with a proper logging library or remove debug logs before shipping.
medium·extensions/voice-call/src/manager.ts

High console.log density (8 instances) — likely debug code left in production

8 console.log calls in 349 lines
In extensions/voice-call/src/manager.ts, there are 8 console.log statements. Replace with a proper logging library or remove debug logs before shipping.
medium·extensions/voice-call/src/webhook.ts

High console.log density (11 instances) — likely debug code left in production

11 console.log calls in 721 lines
In extensions/voice-call/src/webhook.ts, there are 11 console.log statements. Replace with a proper logging library or remove debug logs before shipping.
medium·src/acp/client.ts

High console.log density (8 instances) — likely debug code left in production

8 console.log calls in 460 lines
In src/acp/client.ts, there are 8 console.log statements. Replace with a proper logging library or remove debug logs before shipping.
medium·apps/android/app/src/main/java/ai/openclaw/app/chat/ChatController.kt

Large file (565 code lines, 641 total) — should probably split this

565 code lines (of 641 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/chat/ChatController.kt has 565 lines of code (641 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt

Large file (598 code lines, 633 total) — should probably split this

598 code lines (of 633 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt has 598 lines of code (633 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatMarkdown.kt

Large file (540 code lines, 571 total) — should probably split this

540 code lines (of 571 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatMarkdown.kt has 540 lines of code (571 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/android/app/src/main/java/ai/openclaw/app/voice/MicCaptureManager.kt

Large file (617 code lines, 695 total) — should probably split this

617 code lines (of 695 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/voice/MicCaptureManager.kt has 617 lines of code (695 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/ios/Sources/OpenClawApp.swift

Large file (549 code lines, 602 total) — should probably split this

549 code lines (of 602 total), threshold is 400
apps/ios/Sources/OpenClawApp.swift has 549 lines of code (602 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/ios/Sources/RootCanvas.swift

Large file (518 code lines, 562 total) — should probably split this

518 code lines (of 562 total), threshold is 400
apps/ios/Sources/RootCanvas.swift has 518 lines of code (562 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/ios/Tests/NodeAppModelInvokeTests.swift

Large file (517 code lines, 698 total) — should probably split this

517 code lines (of 698 total), threshold is 400
apps/ios/Tests/NodeAppModelInvokeTests.swift has 517 lines of code (698 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/AppState.swift

Large file (744 code lines, 857 total) — should probably split this

744 code lines (of 857 total), threshold is 400
apps/macos/Sources/OpenClaw/AppState.swift has 744 lines of code (857 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/ChannelsSettings+ChannelState.swift

Large file (506 code lines, 546 total) — should probably split this

506 code lines (of 546 total), threshold is 400
apps/macos/Sources/OpenClaw/ChannelsSettings+ChannelState.swift has 506 lines of code (546 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/ChannelsSettings+ChannelState.swift

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
apps/macos/Sources/OpenClaw/ChannelsSettings+ChannelState.swift has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·apps/macos/Sources/OpenClaw/CommandResolver.swift

Large file (502 code lines, 578 total) — should probably split this

502 code lines (of 578 total), threshold is 400
apps/macos/Sources/OpenClaw/CommandResolver.swift has 502 lines of code (578 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/GatewayConnection.swift

Large file (688 code lines, 806 total) — should probably split this

688 code lines (of 806 total), threshold is 400
apps/macos/Sources/OpenClaw/GatewayConnection.swift has 688 lines of code (806 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/GatewayEndpointStore.swift

Large file (699 code lines, 770 total) — should probably split this

699 code lines (of 770 total), threshold is 400
apps/macos/Sources/OpenClaw/GatewayEndpointStore.swift has 699 lines of code (770 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/GeneralSettings.swift

Large file (588 code lines, 657 total) — should probably split this

588 code lines (of 657 total), threshold is 400
apps/macos/Sources/OpenClaw/GeneralSettings.swift has 588 lines of code (657 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/MenuContentView.swift

Large file (534 code lines, 570 total) — should probably split this

534 code lines (of 570 total), threshold is 400
apps/macos/Sources/OpenClaw/MenuContentView.swift has 534 lines of code (570 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/NodePairingApprovalPrompter.swift

Large file (547 code lines, 627 total) — should probably split this

547 code lines (of 627 total), threshold is 400
apps/macos/Sources/OpenClaw/NodePairingApprovalPrompter.swift has 547 lines of code (627 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/OpenClawConfigFile.swift

Large file (608 code lines, 665 total) — should probably split this

608 code lines (of 665 total), threshold is 400
apps/macos/Sources/OpenClaw/OpenClawConfigFile.swift has 608 lines of code (665 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/SkillsSettings.swift

Large file (590 code lines, 653 total) — should probably split this

590 code lines (of 653 total), threshold is 400
apps/macos/Sources/OpenClaw/SkillsSettings.swift has 590 lines of code (653 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/VoiceWakeRuntime.swift

Large file (682 code lines, 793 total) — should probably split this

682 code lines (of 793 total), threshold is 400
apps/macos/Sources/OpenClaw/VoiceWakeRuntime.swift has 682 lines of code (793 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClaw/VoiceWakeSettings.swift

Large file (613 code lines, 673 total) — should probably split this

613 code lines (of 673 total), threshold is 400
apps/macos/Sources/OpenClaw/VoiceWakeSettings.swift has 613 lines of code (673 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/macos/Sources/OpenClawDiscovery/GatewayDiscoveryModel.swift

Large file (678 code lines, 771 total) — should probably split this

678 code lines (of 771 total), threshold is 400
apps/macos/Sources/OpenClawDiscovery/GatewayDiscoveryModel.swift has 678 lines of code (771 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatComposer.swift

Large file (653 code lines, 760 total) — should probably split this

653 code lines (of 760 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatComposer.swift has 653 lines of code (760 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatMessageViews.swift

Large file (559 code lines, 635 total) — should probably split this

559 code lines (of 635 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatMessageViews.swift has 559 lines of code (635 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatView.swift

Large file (514 code lines, 592 total) — should probably split this

514 code lines (of 592 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatView.swift has 514 lines of code (592 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasScaffold/scaffold.html

Large file (600 code lines, 691 total) — should probably split this

600 code lines (of 691 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasScaffold/scaffold.html has 600 lines of code (691 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/acpx/src/history/conversation.ts

Large file (605 code lines, 681 total) — should probably split this

605 code lines (of 681 total), threshold is 400
extensions/acpx/src/history/conversation.ts has 605 lines of code (681 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/acpx/src/session/manager.ts

Large file (507 code lines, 544 total) — should probably split this

507 code lines (of 544 total), threshold is 400
extensions/acpx/src/session/manager.ts has 507 lines of code (544 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/bluebubbles/src/send.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/bluebubbles/src/send.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/brave/src/brave-web-search-provider.ts

Large file (633 code lines, 670 total) — should probably split this

633 code lines (of 670 total), threshold is 400
extensions/brave/src/brave-web-search-provider.ts has 633 lines of code (670 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/browser/src/browser/cdp.ts

Large file (502 code lines, 558 total) — should probably split this

502 code lines (of 558 total), threshold is 400
extensions/browser/src/browser/cdp.ts has 502 lines of code (558 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/browser/src/browser/cdp.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/browser/src/browser/cdp.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/browser/src/browser/chrome-mcp.ts

Large file (586 code lines, 650 total) — should probably split this

586 code lines (of 650 total), threshold is 400
extensions/browser/src/browser/chrome-mcp.ts has 586 lines of code (650 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/browser/src/browser/routes/agent.snapshot.ts

Large file (577 code lines, 602 total) — should probably split this

577 code lines (of 602 total), threshold is 400
extensions/browser/src/browser/routes/agent.snapshot.ts has 577 lines of code (602 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/browser/src/browser-tool.ts

Large file (721 code lines, 755 total) — should probably split this

721 code lines (of 755 total), threshold is 400
extensions/browser/src/browser-tool.ts has 721 lines of code (755 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/browser/src/cli/browser-cli-manage.ts

Large file (508 code lines, 534 total) — should probably split this

508 code lines (of 534 total), threshold is 400
extensions/browser/src/cli/browser-cli-manage.ts has 508 lines of code (534 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/comfy/workflow-runtime.ts

Large file (721 code lines, 783 total) — should probably split this

721 code lines (of 783 total), threshold is 400
extensions/comfy/workflow-runtime.ts has 721 lines of code (783 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/device-pair/index.ts

Large file (734 code lines, 795 total) — should probably split this

734 code lines (of 795 total), threshold is 400
extensions/device-pair/index.ts has 734 lines of code (795 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/diagnostics-otel/src/service.ts

Large file (629 code lines, 678 total) — should probably split this

629 code lines (of 678 total), threshold is 400
extensions/diagnostics-otel/src/service.ts has 629 lines of code (678 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/diffs/src/render.ts

Large file (505 code lines, 557 total) — should probably split this

505 code lines (of 557 total), threshold is 400
extensions/diffs/src/render.ts has 505 lines of code (557 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/actions/runtime.guild.ts

Large file (544 code lines, 549 total) — should probably split this

544 code lines (of 549 total), threshold is 400
extensions/discord/src/actions/runtime.guild.ts has 544 lines of code (549 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/actions/runtime.messaging.ts

Large file (618 code lines, 626 total) — should probably split this

618 code lines (of 626 total), threshold is 400
extensions/discord/src/actions/runtime.messaging.ts has 618 lines of code (626 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/doctor.ts

Large file (512 code lines, 551 total) — should probably split this

512 code lines (of 551 total), threshold is 400
extensions/discord/src/doctor.ts has 512 lines of code (551 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/monitor/allow-list.ts

Large file (582 code lines, 618 total) — should probably split this

582 code lines (of 618 total), threshold is 400
extensions/discord/src/monitor/allow-list.ts has 582 lines of code (618 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/monitor/listeners.ts

Large file (707 code lines, 774 total) — should probably split this

707 code lines (of 774 total), threshold is 400
extensions/discord/src/monitor/listeners.ts has 707 lines of code (774 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/monitor/message-utils.ts

Large file (674 code lines, 728 total) — should probably split this

674 code lines (of 728 total), threshold is 400
extensions/discord/src/monitor/message-utils.ts has 674 lines of code (728 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/monitor/thread-bindings.manager.ts

Large file (679 code lines, 717 total) — should probably split this

679 code lines (of 717 total), threshold is 400
extensions/discord/src/monitor/thread-bindings.manager.ts has 679 lines of code (717 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/monitor/thread-bindings.state.ts

Large file (501 code lines, 545 total) — should probably split this

501 code lines (of 545 total), threshold is 400
extensions/discord/src/monitor/thread-bindings.state.ts has 501 lines of code (545 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/monitor/threading.ts

Large file (635 code lines, 702 total) — should probably split this

635 code lines (of 702 total), threshold is 400
extensions/discord/src/monitor/threading.ts has 635 lines of code (702 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/discord/src/send.outbound.ts

Large file (543 code lines, 600 total) — should probably split this

543 code lines (of 600 total), threshold is 400
extensions/discord/src/send.outbound.ts has 543 lines of code (600 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/elevenlabs/speech-provider.ts

Large file (529 code lines, 546 total) — should probably split this

529 code lines (of 546 total), threshold is 400
extensions/elevenlabs/speech-provider.ts has 529 lines of code (546 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/exa/src/exa-web-search-provider.ts

Large file (591 code lines, 632 total) — should probably split this

591 code lines (of 632 total), threshold is 400
extensions/exa/src/exa-web-search-provider.ts has 591 lines of code (632 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/feishu/src/bitable.ts

Large file (642 code lines, 733 total) — should probably split this

642 code lines (of 733 total), threshold is 400
extensions/feishu/src/bitable.ts has 642 lines of code (733 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/feishu/src/media.ts

Large file (541 code lines, 648 total) — should probably split this

541 code lines (of 648 total), threshold is 400
extensions/feishu/src/media.ts has 541 lines of code (648 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/feishu/src/monitor.comment.ts

Large file (703 code lines, 739 total) — should probably split this

703 code lines (of 739 total), threshold is 400
extensions/feishu/src/monitor.comment.ts has 703 lines of code (739 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/feishu/src/send.ts

Large file (581 code lines, 696 total) — should probably split this

581 code lines (of 696 total), threshold is 400
extensions/feishu/src/send.ts has 581 lines of code (696 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/googlechat/src/monitor.ts

Large file (504 code lines, 549 total) — should probably split this

504 code lines (of 549 total), threshold is 400
extensions/googlechat/src/monitor.ts has 504 lines of code (549 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/imessage/src/monitor/inbound-processing.ts

Large file (599 code lines, 659 total) — should probably split this

599 code lines (of 659 total), threshold is 400
extensions/imessage/src/monitor/inbound-processing.ts has 599 lines of code (659 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/line/src/bot-handlers.ts

Large file (647 code lines, 696 total) — should probably split this

647 code lines (of 696 total), threshold is 400
extensions/line/src/bot-handlers.ts has 647 lines of code (696 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/line/src/bot-message-context.ts

Large file (528 code lines, 575 total) — should probably split this

528 code lines (of 575 total), threshold is 400
extensions/line/src/bot-message-context.ts has 528 lines of code (575 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/lobster/src/lobster-runner.ts

Large file (683 code lines, 751 total) — should probably split this

683 code lines (of 751 total), threshold is 400
extensions/lobster/src/lobster-runner.ts has 683 lines of code (751 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/channel.ts

Large file (616 code lines, 647 total) — should probably split this

616 code lines (of 647 total), threshold is 400
extensions/matrix/src/channel.ts has 616 lines of code (647 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/matrix/monitor/handler.ts

Deep nesting detected (7 levels) — getting hard to follow

Max nesting depth: 7
extensions/matrix/src/matrix/monitor/handler.ts has 7 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/matrix/src/matrix/monitor/verification-events.ts

Large file (580 code lines, 627 total) — should probably split this

580 code lines (of 627 total), threshold is 400
extensions/matrix/src/matrix/monitor/verification-events.ts has 580 lines of code (627 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/matrix/sdk/idb-persistence.ts

Deep nesting detected (7 levels) — getting hard to follow

Max nesting depth: 7
extensions/matrix/src/matrix/sdk/idb-persistence.ts has 7 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/matrix/src/matrix/sdk/verification-manager.ts

Large file (627 code lines, 677 total) — should probably split this

627 code lines (of 677 total), threshold is 400
extensions/matrix/src/matrix/sdk/verification-manager.ts has 627 lines of code (677 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/matrix/send.ts

Large file (557 code lines, 590 total) — should probably split this

557 code lines (of 590 total), threshold is 400
extensions/matrix/src/matrix/send.ts has 557 lines of code (590 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/matrix/thread-bindings.ts

Large file (555 code lines, 580 total) — should probably split this

555 code lines (of 580 total), threshold is 400
extensions/matrix/src/matrix/thread-bindings.ts has 555 lines of code (580 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/matrix/src/onboarding.ts

Large file (580 code lines, 613 total) — should probably split this

580 code lines (of 613 total), threshold is 400
extensions/matrix/src/onboarding.ts has 580 lines of code (613 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/mattermost/src/channel.ts

Large file (509 code lines, 538 total) — should probably split this

509 code lines (of 538 total), threshold is 400
extensions/mattermost/src/channel.ts has 509 lines of code (538 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/mattermost/src/mattermost/interactions.ts

Large file (573 code lines, 687 total) — should probably split this

573 code lines (of 687 total), threshold is 400
extensions/mattermost/src/mattermost/interactions.ts has 573 lines of code (687 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/memory-core/src/dreaming.ts

Large file (586 code lines, 630 total) — should probably split this

586 code lines (of 630 total), threshold is 400
extensions/memory-core/src/dreaming.ts has 586 lines of code (630 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/memory-core/src/memory/manager-embedding-ops.ts

Large file (695 code lines, 748 total) — should probably split this

695 code lines (of 748 total), threshold is 400
extensions/memory-core/src/memory/manager-embedding-ops.ts has 695 lines of code (748 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/memory-core/src/memory/manager-sync-ops.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/memory-core/src/memory/manager-sync-ops.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/memory-lancedb/index.ts

Large file (526 code lines, 666 total) — should probably split this

526 code lines (of 666 total), threshold is 400
extensions/memory-lancedb/index.ts has 526 lines of code (666 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/memory-lancedb/index.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/memory-lancedb/index.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/nostr/src/nostr-bus.ts

Large file (657 code lines, 887 total) — should probably split this

657 code lines (of 887 total), threshold is 400
extensions/nostr/src/nostr-bus.ts has 657 lines of code (887 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/ollama/src/stream.ts

Large file (686 code lines, 766 total) — should probably split this

686 code lines (of 766 total), threshold is 400
extensions/ollama/src/stream.ts has 686 lines of code (766 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/perplexity/src/perplexity-web-search-provider.ts

Large file (676 code lines, 708 total) — should probably split this

676 code lines (of 708 total), threshold is 400
extensions/perplexity/src/perplexity-web-search-provider.ts has 676 lines of code (708 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/qa-lab/src/lab-server.ts

Large file (660 code lines, 703 total) — should probably split this

660 code lines (of 703 total), threshold is 400
extensions/qa-lab/src/lab-server.ts has 660 lines of code (703 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/qa-lab/src/mock-openai-server.ts

Large file (549 code lines, 580 total) — should probably split this

549 code lines (of 580 total), threshold is 400
extensions/qa-lab/src/mock-openai-server.ts has 549 lines of code (580 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/qa-lab/web/src/ui-render.ts

Large file (589 code lines, 621 total) — should probably split this

589 code lines (of 621 total), threshold is 400
extensions/qa-lab/web/src/ui-render.ts has 589 lines of code (621 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/qqbot/src/outbound-deliver.ts

Large file (647 code lines, 754 total) — should probably split this

647 code lines (of 754 total), threshold is 400
extensions/qqbot/src/outbound-deliver.ts has 647 lines of code (754 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/qqbot/src/outbound-deliver.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/qqbot/src/outbound-deliver.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/qqbot/src/outbound.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/qqbot/src/outbound.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/qqbot/src/reply-dispatcher.ts

Large file (601 code lines, 657 total) — should probably split this

601 code lines (of 657 total), threshold is 400
extensions/qqbot/src/reply-dispatcher.ts has 601 lines of code (657 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/qqbot/src/utils/audio-convert.ts

Large file (682 code lines, 834 total) — should probably split this

682 code lines (of 834 total), threshold is 400
extensions/qqbot/src/utils/audio-convert.ts has 682 lines of code (834 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/slack/src/channel.ts

Large file (615 code lines, 636 total) — should probably split this

615 code lines (of 636 total), threshold is 400
extensions/slack/src/channel.ts has 615 lines of code (636 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/slack/src/monitor/message-handler/dispatch.ts

Large file (670 code lines, 724 total) — should probably split this

670 code lines (of 724 total), threshold is 400
extensions/slack/src/monitor/message-handler/dispatch.ts has 670 lines of code (724 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/slack/src/monitor/provider.ts

Large file (626 code lines, 685 total) — should probably split this

626 code lines (of 685 total), threshold is 400
extensions/slack/src/monitor/provider.ts has 626 lines of code (685 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/slack/src/monitor/provider.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/slack/src/monitor/provider.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/synology-chat/src/webhook-handler.ts

Large file (518 code lines, 620 total) — should probably split this

518 code lines (of 620 total), threshold is 400
extensions/synology-chat/src/webhook-handler.ts has 518 lines of code (620 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/telegram/src/action-runtime.ts

Large file (614 code lines, 640 total) — should probably split this

614 code lines (of 640 total), threshold is 400
extensions/telegram/src/action-runtime.ts has 614 lines of code (640 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/telegram/src/bot/delivery.replies.ts

Large file (719 code lines, 752 total) — should probably split this

719 code lines (of 752 total), threshold is 400
extensions/telegram/src/bot/delivery.replies.ts has 719 lines of code (752 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/telegram/src/bot.create-telegram-bot.test-harness.ts

Large file (503 code lines, 541 total) — should probably split this

503 code lines (of 541 total), threshold is 400
extensions/telegram/src/bot.create-telegram-bot.test-harness.ts has 503 lines of code (541 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/telegram/src/bot.ts

Large file (534 code lines, 590 total) — should probably split this

534 code lines (of 590 total), threshold is 400
extensions/telegram/src/bot.ts has 534 lines of code (590 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/telegram/src/fetch.ts

Large file (543 code lines, 602 total) — should probably split this

543 code lines (of 602 total), threshold is 400
extensions/telegram/src/fetch.ts has 543 lines of code (602 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/telegram/src/lane-delivery-text-deliverer.ts

Large file (558 code lines, 612 total) — should probably split this

558 code lines (of 612 total), threshold is 400
extensions/telegram/src/lane-delivery-text-deliverer.ts has 558 lines of code (612 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/tlon/src/monitor/approval-runtime.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/tlon/src/monitor/approval-runtime.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/tlon/src/monitor/discovery.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/tlon/src/monitor/discovery.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/tlon/src/urbit/story.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
extensions/tlon/src/urbit/story.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·extensions/voice-call/index.ts

Large file (531 code lines, 556 total) — should probably split this

531 code lines (of 556 total), threshold is 400
extensions/voice-call/index.ts has 531 lines of code (556 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/voice-call/src/providers/plivo.ts

Large file (512 code lines, 600 total) — should probably split this

512 code lines (of 600 total), threshold is 400
extensions/voice-call/src/providers/plivo.ts has 512 lines of code (600 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/voice-call/src/providers/twilio.ts

Large file (595 code lines, 815 total) — should probably split this

595 code lines (of 815 total), threshold is 400
extensions/voice-call/src/providers/twilio.ts has 595 lines of code (815 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/voice-call/src/webhook-security.ts

Large file (704 code lines, 992 total) — should probably split this

704 code lines (of 992 total), threshold is 400
extensions/voice-call/src/webhook-security.ts has 704 lines of code (992 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/voice-call/src/webhook.ts

Large file (603 code lines, 721 total) — should probably split this

603 code lines (of 721 total), threshold is 400
extensions/voice-call/src/webhook.ts has 603 lines of code (721 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/whatsapp/src/inbound/monitor.ts

Large file (534 code lines, 575 total) — should probably split this

534 code lines (of 575 total), threshold is 400
extensions/whatsapp/src/inbound/monitor.ts has 534 lines of code (575 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/whatsapp/src/test-helpers.ts

Large file (507 code lines, 540 total) — should probably split this

507 code lines (of 540 total), threshold is 400
extensions/whatsapp/src/test-helpers.ts has 507 lines of code (540 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·extensions/zalouser/src/channel.ts

Large file (524 code lines, 544 total) — should probably split this

524 code lines (of 544 total), threshold is 400
extensions/zalouser/src/channel.ts has 524 lines of code (544 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·packages/memory-host-sdk/src/host/internal.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
packages/memory-host-sdk/src/host/internal.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·scripts/check-gateway-watch-regression.mjs

Large file (524 code lines, 581 total) — should probably split this

524 code lines (of 581 total), threshold is 400
scripts/check-gateway-watch-regression.mjs has 524 lines of code (581 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·scripts/docker/install-sh-e2e/run.sh

Large file (546 code lines, 611 total) — should probably split this

546 code lines (of 611 total), threshold is 400
scripts/docker/install-sh-e2e/run.sh has 546 lines of code (611 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·scripts/docker/install-sh-e2e/run.sh

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
scripts/docker/install-sh-e2e/run.sh has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·scripts/docker/setup.sh

Large file (546 code lines, 654 total) — should probably split this

546 code lines (of 654 total), threshold is 400
scripts/docker/setup.sh has 546 lines of code (654 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·scripts/run-openclaw-podman.sh

Large file (510 code lines, 574 total) — should probably split this

510 code lines (of 574 total), threshold is 400
scripts/run-openclaw-podman.sh has 510 lines of code (574 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·scripts/test-live-acp-bind-docker.sh

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
scripts/test-live-acp-bind-docker.sh has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·scripts/test-live-gateway-models-docker.sh

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
scripts/test-live-gateway-models-docker.sh has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·scripts/test-live-models-docker.sh

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
scripts/test-live-models-docker.sh has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·scripts/test-projects.test-support.mjs

Large file (539 code lines, 560 total) — should probably split this

539 code lines (of 560 total), threshold is 400
scripts/test-projects.test-support.mjs has 539 lines of code (560 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·scripts/update-clawtributors.ts

Large file (500 code lines, 573 total) — should probably split this

500 code lines (of 573 total), threshold is 400
scripts/update-clawtributors.ts has 500 lines of code (573 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/apply-patch.ts

Large file (546 code lines, 607 total) — should probably split this

546 code lines (of 607 total), threshold is 400
src/agents/apply-patch.ts has 546 lines of code (607 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/auth-profiles/store.ts

Large file (517 code lines, 589 total) — should probably split this

517 code lines (of 589 total), threshold is 400
src/agents/auth-profiles/store.ts has 517 lines of code (589 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/bash-tools.process.ts

Large file (644 code lines, 680 total) — should probably split this

644 code lines (of 680 total), threshold is 400
src/agents/bash-tools.process.ts has 644 lines of code (680 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/google-transport-stream.ts

Large file (712 code lines, 745 total) — should probably split this

712 code lines (of 745 total), threshold is 400
src/agents/google-transport-stream.ts has 712 lines of code (745 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/google-transport-stream.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/google-transport-stream.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/model-auth.ts

Large file (629 code lines, 713 total) — should probably split this

629 code lines (of 713 total), threshold is 400
src/agents/model-auth.ts has 629 lines of code (713 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/models-config.providers.secrets.ts

Large file (503 code lines, 540 total) — should probably split this

503 code lines (of 540 total), threshold is 400
src/agents/models-config.providers.secrets.ts has 503 lines of code (540 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/openai-ws-message-conversion.ts

Large file (540 code lines, 582 total) — should probably split this

540 code lines (of 582 total), threshold is 400
src/agents/openai-ws-message-conversion.ts has 540 lines of code (582 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/openai-ws-message-conversion.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/openai-ws-message-conversion.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/pi-embedded-runner/compact.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/pi-embedded-runner/compact.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/pi-embedded-runner/google.ts

Large file (680 code lines, 745 total) — should probably split this

680 code lines (of 745 total), threshold is 400
src/agents/pi-embedded-runner/google.ts has 680 lines of code (745 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-runner/model.provider-runtime.test-support.ts

Large file (527 code lines, 539 total) — should probably split this

527 code lines (of 539 total), threshold is 400
src/agents/pi-embedded-runner/model.provider-runtime.test-support.ts has 527 lines of code (539 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-runner/model.ts

Large file (710 code lines, 751 total) — should probably split this

710 code lines (of 751 total), threshold is 400
src/agents/pi-embedded-runner/model.ts has 710 lines of code (751 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-runner/replay-history.ts

Large file (506 code lines, 553 total) — should probably split this

506 code lines (of 553 total), threshold is 400
src/agents/pi-embedded-runner/replay-history.ts has 506 lines of code (553 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-runner/run/attempt.spawn-workspace.test-support.ts

Large file (739 code lines, 824 total) — should probably split this

739 code lines (of 824 total), threshold is 400
src/agents/pi-embedded-runner/run/attempt.spawn-workspace.test-support.ts has 739 lines of code (824 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-runner/run/attempt.tool-call-normalization.ts

Large file (525 code lines, 586 total) — should probably split this

525 code lines (of 586 total), threshold is 400
src/agents/pi-embedded-runner/run/attempt.tool-call-normalization.ts has 525 lines of code (586 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-runner/run/attempt.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/pi-embedded-runner/run/attempt.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/pi-embedded-subscribe.handlers.messages.ts

Large file (603 code lines, 674 total) — should probably split this

603 code lines (of 674 total), threshold is 400
src/agents/pi-embedded-subscribe.handlers.messages.ts has 603 lines of code (674 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-embedded-subscribe.ts

Large file (727 code lines, 820 total) — should probably split this

727 code lines (of 820 total), threshold is 400
src/agents/pi-embedded-subscribe.ts has 727 lines of code (820 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-hooks/compaction-safeguard.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/pi-hooks/compaction-safeguard.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/pi-tools.read.ts

Large file (731 code lines, 814 total) — should probably split this

731 code lines (of 814 total), threshold is 400
src/agents/pi-tools.read.ts has 731 lines of code (814 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/pi-tools.ts

Large file (618 code lines, 688 total) — should probably split this

618 code lines (of 688 total), threshold is 400
src/agents/pi-tools.ts has 618 lines of code (688 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/prompt-composition-scenarios.ts

Large file (674 code lines, 689 total) — should probably split this

674 code lines (of 689 total), threshold is 400
src/agents/prompt-composition-scenarios.ts has 674 lines of code (689 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/provider-attribution.ts

Large file (568 code lines, 615 total) — should probably split this

568 code lines (of 615 total), threshold is 400
src/agents/provider-attribution.ts has 568 lines of code (615 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/provider-request-config.ts

Large file (665 code lines, 712 total) — should probably split this

665 code lines (of 712 total), threshold is 400
src/agents/provider-request-config.ts has 665 lines of code (712 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/sandbox/docker.ts

Large file (535 code lines, 572 total) — should probably split this

535 code lines (of 572 total), threshold is 400
src/agents/sandbox/docker.ts has 535 lines of code (572 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/session-transcript-repair.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/session-transcript-repair.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/session-write-lock.ts

Large file (519 code lines, 591 total) — should probably split this

519 code lines (of 591 total), threshold is 400
src/agents/session-write-lock.ts has 519 lines of code (591 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/subagent-announce-delivery.ts

Large file (569 code lines, 603 total) — should probably split this

569 code lines (of 603 total), threshold is 400
src/agents/subagent-announce-delivery.ts has 569 lines of code (603 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/subagent-announce-output.ts

Large file (519 code lines, 554 total) — should probably split this

519 code lines (of 554 total), threshold is 400
src/agents/subagent-announce-output.ts has 519 lines of code (554 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/subagent-announce.ts

Large file (601 code lines, 669 total) — should probably split this

601 code lines (of 669 total), threshold is 400
src/agents/subagent-announce.ts has 601 lines of code (669 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/subagent-orphan-recovery.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/agents/subagent-orphan-recovery.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/agents/subagent-registry-lifecycle.ts

Large file (592 code lines, 626 total) — should probably split this

592 code lines (of 626 total), threshold is 400
src/agents/subagent-registry-lifecycle.ts has 592 lines of code (626 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/subagent-registry.ts

Large file (742 code lines, 818 total) — should probably split this

742 code lines (of 818 total), threshold is 400
src/agents/subagent-registry.ts has 742 lines of code (818 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tool-display-config.ts

Large file (697 code lines, 701 total) — should probably split this

697 code lines (of 701 total), threshold is 400
src/agents/tool-display-config.ts has 697 lines of code (701 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tool-loop-detection.ts

Large file (549 code lines, 623 total) — should probably split this

549 code lines (of 623 total), threshold is 400
src/agents/tool-loop-detection.ts has 549 lines of code (623 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tools/cron-tool.ts

Large file (658 code lines, 731 total) — should probably split this

658 code lines (of 731 total), threshold is 400
src/agents/tools/cron-tool.ts has 658 lines of code (731 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tools/image-generate-tool.ts

Large file (643 code lines, 680 total) — should probably split this

643 code lines (of 680 total), threshold is 400
src/agents/tools/image-generate-tool.ts has 643 lines of code (680 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tools/music-generate-tool.ts

Large file (673 code lines, 702 total) — should probably split this

673 code lines (of 702 total), threshold is 400
src/agents/tools/music-generate-tool.ts has 673 lines of code (702 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tools/pdf-tool.ts

Large file (506 code lines, 590 total) — should probably split this

506 code lines (of 590 total), threshold is 400
src/agents/tools/pdf-tool.ts has 506 lines of code (590 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/tools/web-fetch.ts

Large file (591 code lines, 630 total) — should probably split this

591 code lines (of 630 total), threshold is 400
src/agents/tools/web-fetch.ts has 591 lines of code (630 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/agents/workspace.ts

Large file (573 code lines, 647 total) — should probably split this

573 code lines (of 647 total), threshold is 400
src/agents/workspace.ts has 573 lines of code (647 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/command-auth.ts

Large file (568 code lines, 609 total) — should probably split this

568 code lines (of 609 total), threshold is 400
src/auto-reply/command-auth.ts has 568 lines of code (609 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/agent-runner-memory.ts

Large file (732 code lines, 793 total) — should probably split this

732 code lines (of 793 total), threshold is 400
src/auto-reply/reply/agent-runner-memory.ts has 732 lines of code (793 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/commands-allowlist.ts

Large file (523 code lines, 562 total) — should probably split this

523 code lines (of 562 total), threshold is 400
src/auto-reply/reply/commands-allowlist.ts has 523 lines of code (562 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/commands-session.ts

Large file (586 code lines, 632 total) — should probably split this

586 code lines (of 632 total), threshold is 400
src/auto-reply/reply/commands-session.ts has 586 lines of code (632 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/directive-handling.impl.ts

Large file (528 code lines, 545 total) — should probably split this

528 code lines (of 545 total), threshold is 400
src/auto-reply/reply/directive-handling.impl.ts has 528 lines of code (545 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/dispatch-acp.ts

Large file (502 code lines, 535 total) — should probably split this

502 code lines (of 535 total), threshold is 400
src/auto-reply/reply/dispatch-acp.ts has 502 lines of code (535 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/get-reply-directives.ts

Large file (521 code lines, 556 total) — should probably split this

521 code lines (of 556 total), threshold is 400
src/auto-reply/reply/get-reply-directives.ts has 521 lines of code (556 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/get-reply-run.ts

Large file (598 code lines, 620 total) — should probably split this

598 code lines (of 620 total), threshold is 400
src/auto-reply/reply/get-reply-run.ts has 598 lines of code (620 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/model-selection.ts

Large file (615 code lines, 686 total) — should probably split this

615 code lines (of 686 total), threshold is 400
src/auto-reply/reply/model-selection.ts has 615 lines of code (686 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/auto-reply/reply/session.ts

Large file (721 code lines, 805 total) — should probably split this

721 code lines (of 805 total), threshold is 400
src/auto-reply/reply/session.ts has 721 lines of code (805 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/channels/plugins/contracts/registry-session-binding.ts

Large file (522 code lines, 534 total) — should probably split this

522 code lines (of 534 total), threshold is 400
src/channels/plugins/contracts/registry-session-binding.ts has 522 lines of code (534 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/channels/plugins/contracts/suites.ts

Large file (725 code lines, 805 total) — should probably split this

725 code lines (of 805 total), threshold is 400
src/channels/plugins/contracts/suites.ts has 725 lines of code (805 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/channels/plugins/setup-helpers.ts

Large file (564 code lines, 597 total) — should probably split this

564 code lines (of 597 total), threshold is 400
src/channels/plugins/setup-helpers.ts has 564 lines of code (597 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/channels/plugins/types.core.ts

Large file (565 code lines, 693 total) — should probably split this

565 code lines (of 693 total), threshold is 400
src/channels/plugins/types.core.ts has 565 lines of code (693 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cli/completion-cli.ts

Large file (569 code lines, 685 total) — should probably split this

569 code lines (of 685 total), threshold is 400
src/cli/completion-cli.ts has 569 lines of code (685 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cli/daemon-cli/status.gather.ts

Large file (515 code lines, 550 total) — should probably split this

515 code lines (of 550 total), threshold is 400
src/cli/daemon-cli/status.gather.ts has 515 lines of code (550 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cli/exec-approvals-cli.ts

Large file (556 code lines, 598 total) — should probably split this

556 code lines (of 598 total), threshold is 400
src/cli/exec-approvals-cli.ts has 556 lines of code (598 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cli/gateway-cli/run.ts

Large file (565 code lines, 601 total) — should probably split this

565 code lines (of 601 total), threshold is 400
src/cli/gateway-cli/run.ts has 565 lines of code (601 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cli/plugins-install-command.ts

Large file (563 code lines, 595 total) — should probably split this

563 code lines (of 595 total), threshold is 400
src/cli/plugins-install-command.ts has 563 lines of code (595 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cli/ports.ts

Deep nesting detected (7 levels) — getting hard to follow

Max nesting depth: 7
src/cli/ports.ts has 7 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/commands/configure.wizard.ts

Large file (680 code lines, 738 total) — should probably split this

680 code lines (of 738 total), threshold is 400
src/commands/configure.wizard.ts has 680 lines of code (738 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/doctor/shared/legacy-config-core-normalizers.ts

Large file (529 code lines, 586 total) — should probably split this

529 code lines (of 586 total), threshold is 400
src/commands/doctor/shared/legacy-config-core-normalizers.ts has 529 lines of code (586 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/doctor/shared/legacy-config-migrations.channels.ts

Large file (691 code lines, 750 total) — should probably split this

691 code lines (of 750 total), threshold is 400
src/commands/doctor/shared/legacy-config-migrations.channels.ts has 691 lines of code (750 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/doctor-auth-anthropic-claude-cli.ts

Large file (514 code lines, 565 total) — should probably split this

514 code lines (of 565 total), threshold is 400
src/commands/doctor-auth-anthropic-claude-cli.ts has 514 lines of code (565 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/models/auth.ts

Large file (578 code lines, 632 total) — should probably split this

578 code lines (of 632 total), threshold is 400
src/commands/models/auth.ts has 578 lines of code (632 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/models/list.probe.ts

Large file (572 code lines, 621 total) — should probably split this

572 code lines (of 621 total), threshold is 400
src/commands/models/list.probe.ts has 572 lines of code (621 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/models/list.status-command.ts

Large file (637 code lines, 669 total) — should probably split this

637 code lines (of 669 total), threshold is 400
src/commands/models/list.status-command.ts has 637 lines of code (669 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/status-all/channels.ts

Large file (605 code lines, 663 total) — should probably split this

605 code lines (of 663 total), threshold is 400
src/commands/status-all/channels.ts has 605 lines of code (663 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/commands/tasks.ts

Large file (523 code lines, 549 total) — should probably split this

523 code lines (of 549 total), threshold is 400
src/commands/tasks.ts has 523 lines of code (549 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/config/doc-baseline.ts

Large file (629 code lines, 700 total) — should probably split this

629 code lines (of 700 total), threshold is 400
src/config/doc-baseline.ts has 629 lines of code (700 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/config/env-preserve.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/config/env-preserve.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/config/plugin-auto-enable.shared.ts

Large file (557 code lines, 604 total) — should probably split this

557 code lines (of 604 total), threshold is 400
src/config/plugin-auto-enable.shared.ts has 557 lines of code (604 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/config/redact-snapshot.ts

Large file (715 code lines, 862 total) — should probably split this

715 code lines (of 862 total), threshold is 400
src/config/redact-snapshot.ts has 715 lines of code (862 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/config/redact-snapshot.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/config/redact-snapshot.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/cron/isolated-agent/delivery-dispatch.ts

Large file (660 code lines, 740 total) — should probably split this

660 code lines (of 740 total), threshold is 400
src/cron/isolated-agent/delivery-dispatch.ts has 660 lines of code (740 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cron/isolated-agent/run.ts

Large file (659 code lines, 713 total) — should probably split this

659 code lines (of 713 total), threshold is 400
src/cron/isolated-agent/run.ts has 659 lines of code (713 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cron/normalize.ts

Large file (560 code lines, 614 total) — should probably split this

560 code lines (of 614 total), threshold is 400
src/cron/normalize.ts has 560 lines of code (614 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/cron/service/ops.ts

Large file (643 code lines, 710 total) — should probably split this

643 code lines (of 710 total), threshold is 400
src/cron/service/ops.ts has 643 lines of code (710 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/daemon/launchd.ts

Large file (581 code lines, 649 total) — should probably split this

581 code lines (of 649 total), threshold is 400
src/daemon/launchd.ts has 581 lines of code (649 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/daemon/systemd.ts

Large file (645 code lines, 714 total) — should probably split this

645 code lines (of 714 total), threshold is 400
src/daemon/systemd.ts has 645 lines of code (714 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/flows/channel-setup.ts

Large file (576 code lines, 608 total) — should probably split this

576 code lines (of 608 total), threshold is 400
src/flows/channel-setup.ts has 576 lines of code (608 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/flows/doctor-health-contributions.ts

Large file (594 code lines, 629 total) — should probably split this

594 code lines (of 629 total), threshold is 400
src/flows/doctor-health-contributions.ts has 594 lines of code (629 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/flows/model-picker.ts

Large file (649 code lines, 693 total) — should probably split this

649 code lines (of 693 total), threshold is 400
src/flows/model-picker.ts has 649 lines of code (693 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/auth.ts

Large file (553 code lines, 632 total) — should probably split this

553 code lines (of 632 total), threshold is 400
src/gateway/auth.ts has 553 lines of code (632 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/openai-http.ts

Large file (580 code lines, 640 total) — should probably split this

580 code lines (of 640 total), threshold is 400
src/gateway/openai-http.ts has 580 lines of code (640 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/openresponses-http.ts

Deep nesting detected (7 levels) — getting hard to follow

Max nesting depth: 7
src/gateway/openresponses-http.ts has 7 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/gateway/protocol/index.ts

Large file (746 code lines, 757 total) — should probably split this

746 code lines (of 757 total), threshold is 400
src/gateway/protocol/index.ts has 746 lines of code (757 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/server-channels.ts

Large file (519 code lines, 612 total) — should probably split this

519 code lines (of 612 total), threshold is 400
src/gateway/server-channels.ts has 519 lines of code (612 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/server-cron.ts

Large file (506 code lines, 541 total) — should probably split this

506 code lines (of 541 total), threshold is 400
src/gateway/server-cron.ts has 506 lines of code (541 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/server-cron.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/gateway/server-cron.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/gateway/server-methods/config.ts

Large file (628 code lines, 668 total) — should probably split this

628 code lines (of 668 total), threshold is 400
src/gateway/server-methods/config.ts has 628 lines of code (668 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/server-methods/doctor.ts

Large file (628 code lines, 658 total) — should probably split this

628 code lines (of 658 total), threshold is 400
src/gateway/server-methods/doctor.ts has 628 lines of code (658 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/server-node-events.ts

Large file (645 code lines, 690 total) — should probably split this

645 code lines (of 690 total), threshold is 400
src/gateway/server-node-events.ts has 645 lines of code (690 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/server-node-events.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/gateway/server-node-events.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/gateway/session-reset-service.ts

Large file (543 code lines, 564 total) — should probably split this

543 code lines (of 564 total), threshold is 400
src/gateway/session-reset-service.ts has 543 lines of code (564 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/gateway/session-utils.fs.ts

Large file (726 code lines, 804 total) — should probably split this

726 code lines (of 804 total), threshold is 400
src/gateway/session-utils.fs.ts has 726 lines of code (804 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/hooks/bundled/session-memory/transcript.ts

Deep nesting detected (6 levels) — getting hard to follow

Max nesting depth: 6
src/hooks/bundled/session-memory/transcript.ts has 6 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/infra/archive.ts

Large file (588 code lines, 669 total) — should probably split this

588 code lines (of 669 total), threshold is 400
src/infra/archive.ts has 588 lines of code (669 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/infra/bonjour-discovery.ts

Large file (564 code lines, 627 total) — should probably split this

564 code lines (of 627 total), threshold is 400
src/infra/bonjour-discovery.ts has 564 lines of code (627 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/infra/clawhub.ts

Large file (625 code lines, 673 total) — should probably split this

625 code lines (of 673 total), threshold is 400
src/infra/clawhub.ts has 625 lines of code (673 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/infra/dispatch-wrapper-resolution.ts

Large file (566 code lines, 609 total) — should probably split this

566 code lines (of 609 total), threshold is 400
src/infra/dispatch-wrapper-resolution.ts has 566 lines of code (609 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/infra/outbound/outbound-session.test-helpers.ts

Large file (563 code lines, 583 total) — should probably split this

563 code lines (of 583 total), threshold is 400
src/infra/outbound/outbound-session.test-helpers.ts has 563 lines of code (583 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/infra/outbound/target-resolver.ts

Large file (510 code lines, 544 total) — should probably split this

510 code lines (of 544 total), threshold is 400
src/infra/outbound/target-resolver.ts has 510 lines of code (544 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·src/infra/session-cost-usage.ts

Deep nesting detected (7 levels) — getting hard to follow

Max nesting depth: 7
src/infra/session-cost-usage.ts has 7 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
medium·src/logging/subsystem.ts

Large file (666 code lines, 692 total) — should probably split this

666 code lines (of 692 total), threshold is 400
src/logging/subsystem.ts has 666 lines of code (692 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
medium·package.json

High dependency count (50)

50 production dependencies
Review your 50 dependencies. Some may be unused or replaceable with built-in alternatives.
low·extensions/diffs/src/viewer-client.ts:52

Catch block logs warning without re-throwing — may be intentional graceful degradation

catch (error) {
      console.warn("Skipping invalid diff payload", error);
    }
In extensions/diffs/src/viewer-client.ts at line 52, the catch block only console.logs the error. Add proper error handling — return an error response, show a user-facing message, or re-throw.
low·extensions/feishu/src/drive.ts:746

Catch block logs warning without re-throwing — may be intentional graceful degradation

catch (error) {
      console.warn(
        `[feishu_drive] comment metadata preflight failed ` +
  
In extensions/feishu/src/drive.ts at line 746, the catch block only console.logs the error. Add proper error handling — return an error response, show a user-facing message, or re-throw.
low·src/auto-reply/command-auth.ts:189

Catch block logs warning without re-throwing — may be intentional graceful degradation

catch (err) {
    console.warn(
      `[command-auth] resolveAllowFrom threw for provider "${provide
In src/auto-reply/command-auth.ts at line 189, the catch block only console.logs the error. Add proper error handling — return an error response, show a user-facing message, or re-throw.
low·apps/android/app/src/main/java/ai/openclaw/app/SecurePrefs.kt

Large file (454 code lines, 541 total) — barely over threshold

454 code lines (of 541 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/SecurePrefs.kt has 454 lines of code (541 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewayDiscovery.kt

Large file (455 code lines, 521 total) — barely over threshold

455 code lines (of 521 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/gateway/GatewayDiscovery.kt has 455 lines of code (521 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/android/app/src/main/java/ai/openclaw/app/node/ContactsHandler.kt

Large file (402 code lines, 433 total) — barely over threshold

402 code lines (of 433 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/node/ContactsHandler.kt has 402 lines of code (433 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/android/app/src/main/java/ai/openclaw/app/node/DeviceHandler.kt

Large file (428 code lines, 453 total) — barely over threshold

428 code lines (of 453 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/node/DeviceHandler.kt has 428 lines of code (453 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/android/app/src/main/java/ai/openclaw/app/node/DeviceNotificationListenerService.kt

Large file (431 code lines, 473 total) — barely over threshold

431 code lines (of 473 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/node/DeviceNotificationListenerService.kt has 431 lines of code (473 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/android/app/src/main/java/ai/openclaw/app/ui/VoiceTabScreen.kt

Large file (417 code lines, 448 total) — barely over threshold

417 code lines (of 448 total), threshold is 400
apps/android/app/src/main/java/ai/openclaw/app/ui/VoiceTabScreen.kt has 417 lines of code (448 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/ios/ShareExtension/ShareViewController.swift

Large file (496 code lines, 550 total) — barely over threshold

496 code lines (of 550 total), threshold is 400
apps/ios/ShareExtension/ShareViewController.swift has 496 lines of code (550 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/ios/Sources/Gateway/GatewaySettingsStore.swift

Large file (476 code lines, 561 total) — barely over threshold

476 code lines (of 561 total), threshold is 400
apps/ios/Sources/Gateway/GatewaySettingsStore.swift has 476 lines of code (561 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/ios/Sources/Voice/VoiceWakeManager.swift

Large file (406 code lines, 476 total) — barely over threshold

406 code lines (of 476 total), threshold is 400
apps/ios/Sources/Voice/VoiceWakeManager.swift has 406 lines of code (476 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/ExecCommandResolution.swift

Large file (457 code lines, 516 total) — barely over threshold

457 code lines (of 516 total), threshold is 400
apps/macos/Sources/OpenClaw/ExecCommandResolution.swift has 457 lines of code (516 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/ExecSystemRunCommandValidator.swift

Large file (403 code lines, 442 total) — barely over threshold

403 code lines (of 442 total), threshold is 400
apps/macos/Sources/OpenClaw/ExecSystemRunCommandValidator.swift has 403 lines of code (442 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/MenuBar.swift

Large file (403 code lines, 464 total) — barely over threshold

403 code lines (of 464 total), threshold is 400
apps/macos/Sources/OpenClaw/MenuBar.swift has 403 lines of code (464 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/PermissionManager.swift

Large file (417 code lines, 482 total) — barely over threshold

417 code lines (of 482 total), threshold is 400
apps/macos/Sources/OpenClaw/PermissionManager.swift has 417 lines of code (482 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/PortGuardian.swift

Large file (401 code lines, 463 total) — barely over threshold

401 code lines (of 463 total), threshold is 400
apps/macos/Sources/OpenClaw/PortGuardian.swift has 401 lines of code (463 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/SessionMenuPreviewView.swift

Large file (434 code lines, 495 total) — barely over threshold

434 code lines (of 495 total), threshold is 400
apps/macos/Sources/OpenClaw/SessionMenuPreviewView.swift has 434 lines of code (495 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/SystemRunSettingsView.swift

Large file (405 code lines, 449 total) — barely over threshold

405 code lines (of 449 total), threshold is 400
apps/macos/Sources/OpenClaw/SystemRunSettingsView.swift has 405 lines of code (449 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/VoiceWakeTester.swift

Large file (426 code lines, 467 total) — barely over threshold

426 code lines (of 467 total), threshold is 400
apps/macos/Sources/OpenClaw/VoiceWakeTester.swift has 426 lines of code (467 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClaw/WebChatSwiftUI.swift

Large file (421 code lines, 465 total) — barely over threshold

421 code lines (of 465 total), threshold is 400
apps/macos/Sources/OpenClaw/WebChatSwiftUI.swift has 421 lines of code (465 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/macos/Sources/OpenClawMacCLI/WizardCommand.swift

Large file (487 code lines, 526 total) — barely over threshold

487 code lines (of 526 total), threshold is 400
apps/macos/Sources/OpenClawMacCLI/WizardCommand.swift has 487 lines of code (526 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayNodeSession.swift

Large file (487 code lines, 535 total) — barely over threshold

487 code lines (of 535 total), threshold is 400
apps/shared/OpenClawKit/Sources/OpenClawKit/GatewayNodeSession.swift has 487 lines of code (535 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/shared/OpenClawKit/Tests/OpenClawKitTests/GatewayNodeSessionTests.swift

Large file (495 code lines, 575 total) — barely over threshold

495 code lines (of 575 total), threshold is 400
apps/shared/OpenClawKit/Tests/OpenClawKitTests/GatewayNodeSessionTests.swift has 495 lines of code (575 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·apps/shared/OpenClawKit/Tools/CanvasA2UI/bootstrap.js

Large file (489 code lines, 549 total) — barely over threshold

489 code lines (of 549 total), threshold is 400
apps/shared/OpenClawKit/Tools/CanvasA2UI/bootstrap.js has 489 lines of code (549 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/acpx/src/runtime-internals/mcp-command-line.mjs

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/acpx/src/runtime-internals/mcp-command-line.mjs has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/acpx/src/transport/terminal.ts

Large file (406 code lines, 462 total) — barely over threshold

406 code lines (of 462 total), threshold is 400
extensions/acpx/src/transport/terminal.ts has 406 lines of code (462 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/bluebubbles/src/actions.ts

Large file (409 code lines, 481 total) — barely over threshold

409 code lines (of 481 total), threshold is 400
extensions/bluebubbles/src/actions.ts has 409 lines of code (481 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/bluebubbles/src/monitor-processing.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/bluebubbles/src/monitor-processing.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/bluebubbles/src/send.ts

Large file (478 code lines, 537 total) — barely over threshold

478 code lines (of 537 total), threshold is 400
extensions/bluebubbles/src/send.ts has 478 lines of code (537 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/browser/src/browser/chrome.ts

Large file (416 code lines, 479 total) — barely over threshold

416 code lines (of 479 total), threshold is 400
extensions/browser/src/browser/chrome.ts has 416 lines of code (479 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/browser/src/browser/routes/agent.storage.ts

Large file (417 code lines, 451 total) — barely over threshold

417 code lines (of 451 total), threshold is 400
extensions/browser/src/browser/routes/agent.storage.ts has 417 lines of code (451 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/browser/src/browser/server.control-server.test-harness.ts

Large file (423 code lines, 471 total) — barely over threshold

423 code lines (of 471 total), threshold is 400
extensions/browser/src/browser/server.control-server.test-harness.ts has 423 lines of code (471 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/device-pair/notify.ts

Large file (450 code lines, 497 total) — barely over threshold

450 code lines (of 497 total), threshold is 400
extensions/device-pair/notify.ts has 450 lines of code (497 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/diffs/src/browser.ts

Large file (481 code lines, 537 total) — barely over threshold

481 code lines (of 537 total), threshold is 400
extensions/diffs/src/browser.ts has 481 lines of code (537 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/diffs/src/config.ts

Large file (405 code lines, 442 total) — barely over threshold

405 code lines (of 442 total), threshold is 400
extensions/diffs/src/config.ts has 405 lines of code (442 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/diffs/src/tool.ts

Large file (497 code lines, 538 total) — barely over threshold

497 code lines (of 538 total), threshold is 400
extensions/diffs/src/tool.ts has 497 lines of code (538 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/discord/src/actions/handle-action.guild-admin.ts

Large file (421 code lines, 451 total) — barely over threshold

421 code lines (of 451 total), threshold is 400
extensions/discord/src/actions/handle-action.guild-admin.ts has 421 lines of code (451 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/discord/src/monitor/provider.lifecycle.ts

Large file (445 code lines, 472 total) — barely over threshold

445 code lines (of 472 total), threshold is 400
extensions/discord/src/monitor/provider.lifecycle.ts has 445 lines of code (472 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/discord/src/monitor/reply-delivery.ts

Large file (466 code lines, 503 total) — barely over threshold

466 code lines (of 503 total), threshold is 400
extensions/discord/src/monitor/reply-delivery.ts has 466 lines of code (503 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/discord/src/proxy-request-client.ts

Large file (435 code lines, 489 total) — barely over threshold

435 code lines (of 489 total), threshold is 400
extensions/discord/src/proxy-request-client.ts has 435 lines of code (489 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/discord/src/send.shared.ts

Large file (429 code lines, 458 total) — barely over threshold

429 code lines (of 458 total), threshold is 400
extensions/discord/src/send.shared.ts has 429 lines of code (458 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/discord/src/test-support/provider.test-support.ts

Large file (464 code lines, 503 total) — barely over threshold

464 code lines (of 503 total), threshold is 400
extensions/discord/src/test-support/provider.test-support.ts has 464 lines of code (503 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/feishu/src/reply-dispatcher.ts

Large file (457 code lines, 509 total) — barely over threshold

457 code lines (of 509 total), threshold is 400
extensions/feishu/src/reply-dispatcher.ts has 457 lines of code (509 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/feishu/src/reply-dispatcher.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/feishu/src/reply-dispatcher.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/feishu/src/setup-surface.ts

Large file (477 code lines, 512 total) — barely over threshold

477 code lines (of 512 total), threshold is 400
extensions/feishu/src/setup-surface.ts has 477 lines of code (512 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/feishu/src/test-support/lifecycle-test-support.ts

Large file (416 code lines, 439 total) — barely over threshold

416 code lines (of 439 total), threshold is 400
extensions/feishu/src/test-support/lifecycle-test-support.ts has 416 lines of code (439 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/firecrawl/src/firecrawl-client.ts

Large file (484 code lines, 503 total) — barely over threshold

484 code lines (of 503 total), threshold is 400
extensions/firecrawl/src/firecrawl-client.ts has 484 lines of code (503 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/googlechat/src/channel.ts

Large file (489 code lines, 499 total) — barely over threshold

489 code lines (of 499 total), threshold is 400
extensions/googlechat/src/channel.ts has 489 lines of code (499 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/imessage/src/monitor/monitor-provider.ts

Large file (491 code lines, 539 total) — barely over threshold

491 code lines (of 539 total), threshold is 400
extensions/imessage/src/monitor/monitor-provider.ts has 491 lines of code (539 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/irc/src/setup-surface.ts

Large file (418 code lines, 436 total) — barely over threshold

418 code lines (of 436 total), threshold is 400
extensions/irc/src/setup-surface.ts has 418 lines of code (436 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/line/src/flex-templates/media-control-cards.ts

Large file (486 code lines, 555 total) — barely over threshold

486 code lines (of 555 total), threshold is 400
extensions/line/src/flex-templates/media-control-cards.ts has 486 lines of code (555 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/line/src/flex-templates/schedule-cards.ts

Large file (402 code lines, 467 total) — barely over threshold

402 code lines (of 467 total), threshold is 400
extensions/line/src/flex-templates/schedule-cards.ts has 402 lines of code (467 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/line/src/send.ts

Large file (420 code lines, 480 total) — barely over threshold

420 code lines (of 480 total), threshold is 400
extensions/line/src/send.ts has 420 lines of code (480 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/matrix/src/doctor.ts

Large file (436 code lines, 472 total) — barely over threshold

436 code lines (of 472 total), threshold is 400
extensions/matrix/src/doctor.ts has 436 lines of code (472 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/matrix/src/legacy-crypto.ts

Large file (489 code lines, 529 total) — barely over threshold

489 code lines (of 529 total), threshold is 400
extensions/matrix/src/legacy-crypto.ts has 489 lines of code (529 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/matrix/src/matrix/client/storage.ts

Large file (422 code lines, 453 total) — barely over threshold

422 code lines (of 453 total), threshold is 400
extensions/matrix/src/matrix/client/storage.ts has 422 lines of code (453 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/matrix/src/onboarding.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/matrix/src/onboarding.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/matrix/src/tool-actions.ts

Large file (480 code lines, 498 total) — barely over threshold

480 code lines (of 498 total), threshold is 400
extensions/matrix/src/tool-actions.ts has 480 lines of code (498 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/mattermost/src/mattermost/client.ts

Large file (482 code lines, 585 total) — barely over threshold

482 code lines (of 585 total), threshold is 400
extensions/mattermost/src/mattermost/client.ts has 482 lines of code (585 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/mattermost/src/mattermost/monitor.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/mattermost/src/mattermost/monitor.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/mattermost/src/mattermost/send.ts

Large file (435 code lines, 472 total) — barely over threshold

435 code lines (of 472 total), threshold is 400
extensions/mattermost/src/mattermost/send.ts has 435 lines of code (472 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/mattermost/src/mattermost/slash-commands.ts

Large file (443 code lines, 588 total) — barely over threshold

443 code lines (of 588 total), threshold is 400
extensions/mattermost/src/mattermost/slash-commands.ts has 443 lines of code (588 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/mattermost/src/mattermost/slash-http.ts

Large file (485 code lines, 547 total) — barely over threshold

485 code lines (of 547 total), threshold is 400
extensions/mattermost/src/mattermost/slash-http.ts has 485 lines of code (547 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/memory-core/src/cli.runtime.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/memory-core/src/cli.runtime.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/microsoft-foundry/onboard.ts

Large file (481 code lines, 499 total) — barely over threshold

481 code lines (of 499 total), threshold is 400
extensions/microsoft-foundry/onboard.ts has 481 lines of code (499 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/microsoft-foundry/shared.ts

Large file (443 code lines, 487 total) — barely over threshold

443 code lines (of 487 total), threshold is 400
extensions/microsoft-foundry/shared.ts has 443 lines of code (487 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/moonshot/src/kimi-web-search-provider.ts

Large file (430 code lines, 477 total) — barely over threshold

430 code lines (of 477 total), threshold is 400
extensions/moonshot/src/kimi-web-search-provider.ts has 430 lines of code (477 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/msteams/src/attachments/shared.ts

Large file (416 code lines, 513 total) — barely over threshold

416 code lines (of 513 total), threshold is 400
extensions/msteams/src/attachments/shared.ts has 416 lines of code (513 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/msteams/src/attachments/shared.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/msteams/src/attachments/shared.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/msteams/src/messenger.ts

Large file (457 code lines, 555 total) — barely over threshold

457 code lines (of 555 total), threshold is 400
extensions/msteams/src/messenger.ts has 457 lines of code (555 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/msteams/src/messenger.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/msteams/src/messenger.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/msteams/src/monitor-handler.ts

Large file (407 code lines, 488 total) — barely over threshold

407 code lines (of 488 total), threshold is 400
extensions/msteams/src/monitor-handler.ts has 407 lines of code (488 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/msteams/src/send.ts

Large file (495 code lines, 646 total) — barely over threshold

495 code lines (of 646 total), threshold is 400
extensions/msteams/src/send.ts has 495 lines of code (646 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/nextcloud-talk/src/monitor.ts

Large file (408 code lines, 448 total) — barely over threshold

408 code lines (of 448 total), threshold is 400
extensions/nextcloud-talk/src/monitor.ts has 408 lines of code (448 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/nostr/src/channel.ts

Large file (451 code lines, 501 total) — barely over threshold

451 code lines (of 501 total), threshold is 400
extensions/nostr/src/channel.ts has 451 lines of code (501 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/nostr/src/nostr-profile-http.ts

Large file (416 code lines, 579 total) — barely over threshold

416 code lines (of 579 total), threshold is 400
extensions/nostr/src/nostr-profile-http.ts has 416 lines of code (579 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/ollama/src/setup.ts

Large file (480 code lines, 521 total) — barely over threshold

480 code lines (of 521 total), threshold is 400
extensions/ollama/src/setup.ts has 480 lines of code (521 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/ollama/src/setup.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/ollama/src/setup.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/openai/realtime-voice-provider.ts

Large file (486 code lines, 535 total) — barely over threshold

486 code lines (of 535 total), threshold is 400
extensions/openai/realtime-voice-provider.ts has 486 lines of code (535 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/openshell/src/backend.ts

Large file (491 code lines, 522 total) — barely over threshold

491 code lines (of 522 total), threshold is 400
extensions/openshell/src/backend.ts has 491 lines of code (522 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/phone-control/index.ts

Large file (405 code lines, 451 total) — barely over threshold

405 code lines (of 451 total), threshold is 400
extensions/phone-control/index.ts has 405 lines of code (451 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/qa-lab/src/report.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/qa-lab/src/report.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/qqbot/src/gateway.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/qqbot/src/gateway.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/qqbot/src/session-store.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/qqbot/src/session-store.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/qqbot/src/slash-commands.ts

Large file (431 code lines, 599 total) — barely over threshold

431 code lines (of 599 total), threshold is 400
extensions/qqbot/src/slash-commands.ts has 431 lines of code (599 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/qqbot/src/slash-commands.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/qqbot/src/slash-commands.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/qqbot/src/utils/audio-convert.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/qqbot/src/utils/audio-convert.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/signal/src/monitor/event-handler.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/signal/src/monitor/event-handler.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/signal/src/monitor.ts

Large file (470 code lines, 490 total) — barely over threshold

470 code lines (of 490 total), threshold is 400
extensions/signal/src/monitor.ts has 470 lines of code (490 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/slack/src/action-runtime.ts

Large file (438 code lines, 487 total) — barely over threshold

438 code lines (of 487 total), threshold is 400
extensions/slack/src/action-runtime.ts has 438 lines of code (487 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/slack/src/actions.ts

Large file (413 code lines, 459 total) — barely over threshold

413 code lines (of 459 total), threshold is 400
extensions/slack/src/actions.ts has 413 lines of code (459 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/slack/src/monitor/context.ts

Large file (403 code lines, 436 total) — barely over threshold

403 code lines (of 436 total), threshold is 400
extensions/slack/src/monitor/context.ts has 403 lines of code (436 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/slack/src/monitor/media.ts

Large file (429 code lines, 520 total) — barely over threshold

429 code lines (of 520 total), threshold is 400
extensions/slack/src/monitor/media.ts has 429 lines of code (520 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/telegram/src/bot-message-context.ts

Large file (492 code lines, 524 total) — barely over threshold

492 code lines (of 524 total), threshold is 400
extensions/telegram/src/bot-message-context.ts has 492 lines of code (524 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/telegram/src/bot-message-dispatch.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/telegram/src/bot-message-dispatch.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/telegram/src/bot-native-commands.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/telegram/src/bot-native-commands.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/telegram/src/doctor.ts

Large file (463 code lines, 500 total) — barely over threshold

463 code lines (of 500 total), threshold is 400
extensions/telegram/src/doctor.ts has 463 lines of code (500 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/telegram/src/draft-stream.ts

Large file (428 code lines, 482 total) — barely over threshold

428 code lines (of 482 total), threshold is 400
extensions/telegram/src/draft-stream.ts has 428 lines of code (482 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/telegram/src/fetch.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/telegram/src/fetch.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/telegram/src/polling-session.ts

Large file (411 code lines, 456 total) — barely over threshold

411 code lines (of 456 total), threshold is 400
extensions/telegram/src/polling-session.ts has 411 lines of code (456 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/telegram/src/webhook.ts

Large file (436 code lines, 463 total) — barely over threshold

436 code lines (of 463 total), threshold is 400
extensions/telegram/src/webhook.ts has 436 lines of code (463 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/tlon/src/urbit/sse-client.ts

Large file (427 code lines, 488 total) — barely over threshold

427 code lines (of 488 total), threshold is 400
extensions/tlon/src/urbit/sse-client.ts has 427 lines of code (488 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/voice-call/src/cli.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/voice-call/src/cli.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/voice-call/src/media-stream.ts

Large file (476 code lines, 632 total) — barely over threshold

476 code lines (of 632 total), threshold is 400
extensions/voice-call/src/media-stream.ts has 476 lines of code (632 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/whatsapp/src/auto-reply/monitor.ts

Large file (440 code lines, 490 total) — barely over threshold

440 code lines (of 490 total), threshold is 400
extensions/whatsapp/src/auto-reply/monitor.ts has 440 lines of code (490 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/whatsapp/src/inbound/extract.ts

Large file (443 code lines, 473 total) — barely over threshold

443 code lines (of 473 total), threshold is 400
extensions/whatsapp/src/inbound/extract.ts has 443 lines of code (473 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·extensions/zalouser/src/monitor.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
extensions/zalouser/src/monitor.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·extensions/zalouser/src/setup-surface.ts

Large file (449 code lines, 475 total) — barely over threshold

449 code lines (of 475 total), threshold is 400
extensions/zalouser/src/setup-surface.ts has 449 lines of code (475 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·packages/memory-host-sdk/src/host/internal.ts

Large file (461 code lines, 504 total) — barely over threshold

461 code lines (of 504 total), threshold is 400
packages/memory-host-sdk/src/host/internal.ts has 461 lines of code (504 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·packages/memory-host-sdk/src/host/read-file.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
packages/memory-host-sdk/src/host/read-file.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·scripts/bench-cli-startup.ts

Large file (479 code lines, 520 total) — barely over threshold

479 code lines (of 520 total), threshold is 400
scripts/bench-cli-startup.ts has 479 lines of code (520 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·scripts/control-ui-i18n.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
scripts/control-ui-i18n.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·scripts/docs-list.js

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
scripts/docs-list.js has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·scripts/e2e/onboard-docker.sh

Large file (481 code lines, 574 total) — barely over threshold

481 code lines (of 574 total), threshold is 400
scripts/e2e/onboard-docker.sh has 481 lines of code (574 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·scripts/lib/plugin-clawhub-release.ts

Large file (403 code lines, 443 total) — barely over threshold

403 code lines (of 443 total), threshold is 400
scripts/lib/plugin-clawhub-release.ts has 403 lines of code (443 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·scripts/openclaw-npm-release-check.ts

Large file (430 code lines, 492 total) — barely over threshold

430 code lines (of 492 total), threshold is 400
scripts/openclaw-npm-release-check.ts has 430 lines of code (492 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·scripts/podman/setup.sh

Large file (408 code lines, 458 total) — barely over threshold

408 code lines (of 458 total), threshold is 400
scripts/podman/setup.sh has 408 lines of code (458 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·scripts/postinstall-bundled-plugins.mjs

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
scripts/postinstall-bundled-plugins.mjs has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·scripts/pr-lib/review.sh

Large file (440 code lines, 527 total) — barely over threshold

440 code lines (of 527 total), threshold is 400
scripts/pr-lib/review.sh has 440 lines of code (527 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·scripts/ui.js

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
scripts/ui.js has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·scripts/update-clawtributors.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
scripts/update-clawtributors.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·skills/skill-creator/scripts/package_skill.py

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
skills/skill-creator/scripts/package_skill.py has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/acp/client.ts

Large file (407 code lines, 460 total) — barely over threshold

407 code lines (of 460 total), threshold is 400
src/acp/client.ts has 407 lines of code (460 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/anthropic-payload-policy.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/anthropic-payload-policy.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/auth-profiles/oauth.ts

Large file (454 code lines, 496 total) — barely over threshold

454 code lines (of 496 total), threshold is 400
src/agents/auth-profiles/oauth.ts has 454 lines of code (496 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/bash-tools.exec-host-gateway.ts

Large file (413 code lines, 433 total) — barely over threshold

413 code lines (of 433 total), threshold is 400
src/agents/bash-tools.exec-host-gateway.ts has 413 lines of code (433 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/bash-tools.exec-host-node.ts

Large file (430 code lines, 443 total) — barely over threshold

430 code lines (of 443 total), threshold is 400
src/agents/bash-tools.exec-host-node.ts has 430 lines of code (443 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/bash-tools.exec-host-shared.ts

Large file (431 code lines, 467 total) — barely over threshold

431 code lines (of 467 total), threshold is 400
src/agents/bash-tools.exec-host-shared.ts has 431 lines of code (467 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/command/attempt-execution.ts

Large file (408 code lines, 452 total) — barely over threshold

408 code lines (of 452 total), threshold is 400
src/agents/command/attempt-execution.ts has 408 lines of code (452 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/compaction.ts

Large file (483 code lines, 581 total) — barely over threshold

483 code lines (of 581 total), threshold is 400
src/agents/compaction.ts has 483 lines of code (581 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/live-cache-regression-runner.ts

Large file (464 code lines, 496 total) — barely over threshold

464 code lines (of 496 total), threshold is 400
src/agents/live-cache-regression-runner.ts has 464 lines of code (496 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/memory-search.ts

Large file (403 code lines, 412 total) — barely over threshold

403 code lines (of 412 total), threshold is 400
src/agents/memory-search.ts has 403 lines of code (412 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/model-fallback.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/model-fallback.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/model-scan.ts

Large file (453 code lines, 499 total) — barely over threshold

453 code lines (of 499 total), threshold is 400
src/agents/model-scan.ts has 453 lines of code (499 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/openai-ws-connection.ts

Large file (487 code lines, 652 total) — barely over threshold

487 code lines (of 652 total), threshold is 400
src/agents/openai-ws-connection.ts has 487 lines of code (652 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/openai-ws-stream.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/openai-ws-stream.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/pi-bundle-lsp-runtime.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/pi-bundle-lsp-runtime.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/pi-bundle-mcp-runtime.ts

Large file (416 code lines, 442 total) — barely over threshold

416 code lines (of 442 total), threshold is 400
src/agents/pi-bundle-mcp-runtime.ts has 416 lines of code (442 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-bundle-mcp-runtime.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/pi-bundle-mcp-runtime.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/pi-embedded-runner/compact.hooks.harness.ts

Large file (490 code lines, 555 total) — barely over threshold

490 code lines (of 555 total), threshold is 400
src/agents/pi-embedded-runner/compact.hooks.harness.ts has 490 lines of code (555 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-embedded-runner/extra-params.ts

Large file (455 code lines, 512 total) — barely over threshold

455 code lines (of 512 total), threshold is 400
src/agents/pi-embedded-runner/extra-params.ts has 455 lines of code (512 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-embedded-runner/run/attempt.tool-call-argument-repair.ts

Large file (449 code lines, 476 total) — barely over threshold

449 code lines (of 476 total), threshold is 400
src/agents/pi-embedded-runner/run/attempt.tool-call-argument-repair.ts has 449 lines of code (476 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-embedded-runner/run/attempt.tool-call-argument-repair.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/pi-embedded-runner/run/attempt.tool-call-argument-repair.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/pi-embedded-runner/run/attempt.tool-call-normalization.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/pi-embedded-runner/run/attempt.tool-call-normalization.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/pi-embedded-runner/run/auth-controller.ts

Large file (483 code lines, 501 total) — barely over threshold

483 code lines (of 501 total), threshold is 400
src/agents/pi-embedded-runner/run/auth-controller.ts has 483 lines of code (501 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-embedded-runner/run.overflow-compaction.harness.ts

Large file (454 code lines, 498 total) — barely over threshold

454 code lines (of 498 total), threshold is 400
src/agents/pi-embedded-runner/run.overflow-compaction.harness.ts has 454 lines of code (498 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-embedded-runner/tool-result-context-guard.ts

Large file (421 code lines, 505 total) — barely over threshold

421 code lines (of 505 total), threshold is 400
src/agents/pi-embedded-runner/tool-result-context-guard.ts has 421 lines of code (505 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-embedded-utils.ts

Large file (436 code lines, 531 total) — barely over threshold

436 code lines (of 531 total), threshold is 400
src/agents/pi-embedded-utils.ts has 436 lines of code (531 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/pi-tools.before-tool-call.ts

Large file (431 code lines, 463 total) — barely over threshold

431 code lines (of 463 total), threshold is 400
src/agents/pi-tools.before-tool-call.ts has 431 lines of code (463 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/sandbox/remote-fs-bridge.ts

Large file (487 code lines, 516 total) — barely over threshold

487 code lines (of 516 total), threshold is 400
src/agents/sandbox/remote-fs-bridge.ts has 487 lines of code (516 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/session-transcript-repair.ts

Large file (457 code lines, 530 total) — barely over threshold

457 code lines (of 530 total), threshold is 400
src/agents/session-transcript-repair.ts has 457 lines of code (530 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/skills/workspace.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/skills/workspace.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/skills-clawhub.ts

Large file (464 code lines, 499 total) — barely over threshold

464 code lines (of 499 total), threshold is 400
src/agents/skills-clawhub.ts has 464 lines of code (499 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/skills-install.ts

Large file (468 code lines, 520 total) — barely over threshold

468 code lines (of 520 total), threshold is 400
src/agents/skills-install.ts has 468 lines of code (520 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/subagent-registry-run-manager.ts

Large file (449 code lines, 471 total) — barely over threshold

449 code lines (of 471 total), threshold is 400
src/agents/subagent-registry-run-manager.ts has 449 lines of code (471 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/tool-display-common.ts

Large file (407 code lines, 452 total) — barely over threshold

407 code lines (of 452 total), threshold is 400
src/agents/tool-display-common.ts has 407 lines of code (452 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/tool-policy-pipeline.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/tool-policy-pipeline.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/tools/image-tool.ts

Large file (476 code lines, 536 total) — barely over threshold

476 code lines (of 536 total), threshold is 400
src/agents/tools/image-tool.ts has 476 lines of code (536 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/tools/session-status-tool.ts

Large file (495 code lines, 523 total) — barely over threshold

495 code lines (of 523 total), threshold is 400
src/agents/tools/session-status-tool.ts has 495 lines of code (523 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/tools/sessions-list-tool.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/tools/sessions-list-tool.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/tools/sessions-resolution.ts

Large file (405 code lines, 435 total) — barely over threshold

405 code lines (of 435 total), threshold is 400
src/agents/tools/sessions-resolution.ts has 405 lines of code (435 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/agents/tools/web-shared.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/tools/web-shared.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/agents/transport-message-transform.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/agents/transport-message-transform.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/commands-registry.ts

Large file (489 code lines, 528 total) — barely over threshold

489 code lines (of 528 total), threshold is 400
src/auto-reply/commands-registry.ts has 489 lines of code (528 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/media-note.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/media-note.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/reply/acp-projector.ts

Large file (464 code lines, 498 total) — barely over threshold

464 code lines (of 498 total), threshold is 400
src/auto-reply/reply/acp-projector.ts has 464 lines of code (498 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/reply/agent-runner-memory.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/reply/agent-runner-memory.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/reply/commands-acp/shared.ts

Large file (495 code lines, 534 total) — barely over threshold

495 code lines (of 534 total), threshold is 400
src/auto-reply/reply/commands-acp/shared.ts has 495 lines of code (534 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/reply/commands-core.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/reply/commands-core.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/reply/commands-plugins.ts

Large file (431 code lines, 455 total) — barely over threshold

431 code lines (of 455 total), threshold is 400
src/auto-reply/reply/commands-plugins.ts has 431 lines of code (455 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/reply/dispatch-from-config.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/reply/dispatch-from-config.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/reply/export-html/template.js

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/reply/export-html/template.js has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/reply/get-reply-inline-actions.ts

Large file (454 code lines, 486 total) — barely over threshold

454 code lines (of 486 total), threshold is 400
src/auto-reply/reply/get-reply-inline-actions.ts has 454 lines of code (486 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/reply/get-reply.ts

Large file (489 code lines, 518 total) — barely over threshold

489 code lines (of 518 total), threshold is 400
src/auto-reply/reply/get-reply.ts has 489 lines of code (518 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/reply/post-compaction-context.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/reply/post-compaction-context.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/auto-reply/reply/reply-run-registry.ts

Large file (485 code lines, 536 total) — barely over threshold

485 code lines (of 536 total), threshold is 400
src/auto-reply/reply/reply-run-registry.ts has 485 lines of code (536 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/reply.triggers.trigger-handling.test-harness.ts

Large file (414 code lines, 476 total) — barely over threshold

414 code lines (of 476 total), threshold is 400
src/auto-reply/reply.triggers.trigger-handling.test-harness.ts has 414 lines of code (476 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/auto-reply/status.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/auto-reply/status.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/canvas-host/server.ts

Large file (484 code lines, 528 total) — barely over threshold

484 code lines (of 528 total), threshold is 400
src/canvas-host/server.ts has 484 lines of code (528 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/channels/channel-config.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/channels/channel-config.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/cli/daemon-cli/lifecycle-core.ts

Large file (463 code lines, 502 total) — barely over threshold

463 code lines (of 502 total), threshold is 400
src/cli/daemon-cli/lifecycle-core.ts has 463 lines of code (502 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/cli/daemon-cli/lifecycle-core.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/cli/daemon-cli/lifecycle-core.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/cli/devices-cli.ts

Large file (451 code lines, 482 total) — barely over threshold

451 code lines (of 482 total), threshold is 400
src/cli/devices-cli.ts has 451 lines of code (482 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/cli/hooks-cli.ts

Large file (492 code lines, 553 total) — barely over threshold

492 code lines (of 553 total), threshold is 400
src/cli/hooks-cli.ts has 492 lines of code (553 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/cli/models-cli.ts

Large file (410 code lines, 442 total) — barely over threshold

410 code lines (of 442 total), threshold is 400
src/cli/models-cli.ts has 410 lines of code (442 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/cli/plugins-cli-test-helpers.ts

Large file (426 code lines, 454 total) — barely over threshold

426 code lines (of 454 total), threshold is 400
src/cli/plugins-cli-test-helpers.ts has 426 lines of code (454 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/cli/program/register.status-health-sessions.ts

Large file (421 code lines, 439 total) — barely over threshold

421 code lines (of 439 total), threshold is 400
src/cli/program/register.status-health-sessions.ts has 421 lines of code (439 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/cli/run-main.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/cli/run-main.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/cli/update-cli/progress.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/cli/update-cli/progress.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/commands/channels/add.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/commands/channels/add.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/commands/doctor-cron-store-migration.ts

Large file (489 code lines, 526 total) — barely over threshold

489 code lines (of 526 total), threshold is 400
src/commands/doctor-cron-store-migration.ts has 489 lines of code (526 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/commands/doctor-gateway-services.ts

Large file (419 code lines, 459 total) — barely over threshold

419 code lines (of 459 total), threshold is 400
src/commands/doctor-gateway-services.ts has 419 lines of code (459 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/commands/doctor.e2e-harness.ts

Large file (426 code lines, 478 total) — barely over threshold

426 code lines (of 478 total), threshold is 400
src/commands/doctor.e2e-harness.ts has 426 lines of code (478 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/commands/onboard-non-interactive/local/auth-choice.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/commands/onboard-non-interactive/local/auth-choice.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/commands/sessions-cleanup.ts

Large file (436 code lines, 456 total) — barely over threshold

436 code lines (of 456 total), threshold is 400
src/commands/sessions-cleanup.ts has 436 lines of code (456 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/config/validation.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/config/validation.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/cron/run-log.ts

Large file (427 code lines, 454 total) — barely over threshold

427 code lines (of 454 total), threshold is 400
src/cron/run-log.ts has 427 lines of code (454 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/daemon/inspect.ts

Large file (406 code lines, 441 total) — barely over threshold

406 code lines (of 441 total), threshold is 400
src/daemon/inspect.ts has 406 lines of code (441 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/daemon/inspect.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/daemon/inspect.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/flows/search-setup.ts

Large file (491 code lines, 539 total) — barely over threshold

491 code lines (of 539 total), threshold is 400
src/flows/search-setup.ts has 491 lines of code (539 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/channel-health-monitor.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/gateway/channel-health-monitor.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/gateway/control-ui.ts

Large file (433 code lines, 487 total) — barely over threshold

433 code lines (of 487 total), threshold is 400
src/gateway/control-ui.ts has 433 lines of code (487 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/hooks-mapping.ts

Large file (484 code lines, 526 total) — barely over threshold

484 code lines (of 526 total), threshold is 400
src/gateway/hooks-mapping.ts has 484 lines of code (526 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/model-pricing-cache.ts

Large file (421 code lines, 462 total) — barely over threshold

421 code lines (of 462 total), threshold is 400
src/gateway/model-pricing-cache.ts has 421 lines of code (462 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/server-methods/exec-approval.ts

Large file (443 code lines, 458 total) — barely over threshold

443 code lines (of 458 total), threshold is 400
src/gateway/server-methods/exec-approval.ts has 443 lines of code (458 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/server-methods/send.ts

Large file (484 code lines, 492 total) — barely over threshold

484 code lines (of 492 total), threshold is 400
src/gateway/server-methods/send.ts has 484 lines of code (492 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/server-methods/talk.ts

Large file (433 code lines, 467 total) — barely over threshold

433 code lines (of 467 total), threshold is 400
src/gateway/server-methods/talk.ts has 433 lines of code (467 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/server-plugins.ts

Large file (426 code lines, 459 total) — barely over threshold

426 code lines (of 459 total), threshold is 400
src/gateway/server-plugins.ts has 426 lines of code (459 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/server.auth.default-token.suite.ts

Large file (402 code lines, 438 total) — barely over threshold

402 code lines (of 438 total), threshold is 400
src/gateway/server.auth.default-token.suite.ts has 402 lines of code (438 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/gateway/session-utils.fs.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/gateway/session-utils.fs.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/gateway/sessions-patch.ts

Large file (424 code lines, 457 total) — barely over threshold

424 code lines (of 457 total), threshold is 400
src/gateway/sessions-patch.ts has 424 lines of code (457 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/hooks/install.ts

Large file (434 code lines, 479 total) — barely over threshold

434 code lines (of 479 total), threshold is 400
src/hooks/install.ts has 434 lines of code (479 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/infra/control-ui-assets.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/infra/control-ui-assets.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/infra/device-identity.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/infra/device-identity.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/infra/dotenv.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/infra/dotenv.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/infra/outbound/session-binding-service.ts

Large file (405 code lines, 437 total) — barely over threshold

405 code lines (of 437 total), threshold is 400
src/infra/outbound/session-binding-service.ts has 405 lines of code (437 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/infra/provider-usage.fetch.minimax.ts

Large file (412 code lines, 469 total) — barely over threshold

412 code lines (of 469 total), threshold is 400
src/infra/provider-usage.fetch.minimax.ts has 412 lines of code (469 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/infra/provider-usage.fetch.minimax.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/infra/provider-usage.fetch.minimax.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/infra/resolve-system-bin.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/infra/resolve-system-bin.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/infra/restart.ts

Large file (450 code lines, 512 total) — barely over threshold

450 code lines (of 512 total), threshold is 400
src/infra/restart.ts has 450 lines of code (512 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/infra/tailscale.ts

Large file (448 code lines, 513 total) — barely over threshold

448 code lines (of 513 total), threshold is 400
src/infra/tailscale.ts has 448 lines of code (513 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/infra/update-global.ts

Large file (405 code lines, 442 total) — barely over threshold

405 code lines (of 442 total), threshold is 400
src/infra/update-global.ts has 405 lines of code (442 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/infra/update-runner.ts

Deep nesting detected (5 levels) — common in real code

Max nesting depth: 5
src/infra/update-runner.ts has 5 levels of nesting. Use early returns, extract helper functions, or restructure conditionals to flatten the code.
low·src/infra/update-startup.ts

Large file (485 code lines, 526 total) — barely over threshold

485 code lines (of 526 total), threshold is 400
src/infra/update-startup.ts has 485 lines of code (526 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/logging/diagnostic.ts

Large file (409 code lines, 436 total) — barely over threshold

409 code lines (of 436 total), threshold is 400
src/logging/diagnostic.ts has 409 lines of code (436 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low·src/mcp/channel-bridge.ts

Large file (487 code lines, 520 total) — barely over threshold

487 code lines (of 520 total), threshold is 400
src/mcp/channel-bridge.ts has 487 lines of code (520 total). Break it into smaller, focused modules. Each file should have one clear responsibility.
low

Multiple files with similar names and content: extensions/acpx/runtime-api.ts, extensions/bluebubbles/runtime-api.ts, extensions/bluebubbles/src/runtime-api.ts

54 files with base name 'runtime-api' share similar code
There are 54 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/acpx/setup-api.ts, extensions/amazon-bedrock/setup-api.ts, extensions/anthropic/setup-api.ts

15 files with base name 'setup-api' share similar code
There are 15 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/acpx/src/history/shared.ts, extensions/acpx/src/runtime-internals/shared.ts, extensions/browser/src/cli/browser-cli-actions-input/shared.ts

28 files with base name 'shared' share similar code
There are 28 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/amazon-bedrock/config-api.ts, extensions/discord/config-api.ts, extensions/elevenlabs/config-api.ts

11 files with base name 'config-api' share similar code
There are 11 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/anthropic/contract-api.ts, extensions/discord/contract-api.ts, extensions/elevenlabs/contract-api.ts

16 files with base name 'contract-api' share similar code
There are 16 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/anthropic/media-understanding-provider.ts, extensions/deepgram/media-understanding-provider.ts, extensions/google/media-understanding-provider.ts

11 files with base name 'media-understanding-provider' share similar code
There are 11 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/setup-entry.ts, extensions/discord/setup-entry.ts, extensions/feishu/setup-entry.ts

22 files with base name 'setup-entry' share similar code
There are 22 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/conversation-bindings.ts, extensions/imessage/src/conversation-bindings.ts, src/channels/plugins/conversation-bindings.ts

3 files with base name 'conversation-bindings' share similar code
There are 3 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/conversation-route.ts, extensions/imessage/src/conversation-route.ts, extensions/telegram/src/conversation-route.ts

3 files with base name 'conversation-route' share similar code
There are 3 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/doctor-contract.ts, extensions/discord/src/doctor-contract.ts, extensions/elevenlabs/doctor-contract.ts

10 files with base name 'doctor-contract' share similar code
There are 10 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/doctor.ts, extensions/discord/src/doctor.ts, extensions/googlechat/src/doctor.ts

16 files with base name 'doctor' share similar code
There are 16 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/group-policy.ts, extensions/discord/src/group-policy.ts, extensions/googlechat/src/group-policy.ts

10 files with base name 'group-policy' share similar code
There are 10 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/secret-contract.ts, extensions/feishu/src/secret-contract.ts, extensions/googlechat/src/secret-contract.ts

11 files with base name 'secret-contract' share similar code
There are 11 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/bluebubbles/src/secret-input.ts, extensions/feishu/src/secret-input.ts, extensions/mattermost/src/secret-input.ts

7 files with base name 'secret-input' share similar code
There are 7 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/browser/src/infra/net/ssrf.ts, extensions/memory-core/src/memory/test-helpers/ssrf.ts, packages/memory-host-sdk/src/host/test-helpers/ssrf.ts

4 files with base name 'ssrf' share similar code
There are 4 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/discord/src/interactive-dispatch.ts, extensions/slack/src/interactive-dispatch.ts, extensions/telegram/src/interactive-dispatch.ts

3 files with base name 'interactive-dispatch' share similar code
There are 3 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/feishu/channel-entry.ts, extensions/signal/channel-entry.ts, extensions/slack/channel-entry.ts

3 files with base name 'channel-entry' share similar code
There are 3 files that look like copies of each other. Consolidate them or extract shared logic.
low

Multiple files with similar names and content: extensions/signal/src/reaction-level.ts, extensions/telegram/src/reaction-level.ts, extensions/whatsapp/src/reaction-level.ts

3 files with base name 'reaction-level' share similar code
There are 3 files that look like copies of each other. Consolidate them or extract shared logic.