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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.