From dd1e161f5a756b49871fbc1c3bb871943412d1f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D8=A7=D9=84=D8=AE=D8=A7=D8=B3=D8=B1?= <53134489+mubarakx01@users.noreply.github.com> Date: Tue, 27 Jan 2026 02:59:14 +0530 Subject: [PATCH 1/2] chore: add detect-secrets baseline and loc check --- .github/workflows/ci.yml | 3 + .secrets.baseline | 370 +++++++++++++++++++++++++++++++-------- 2 files changed, 301 insertions(+), 72 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8cc86bd63..ef08c2e0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,6 +86,9 @@ jobs: - runtime: node task: format command: pnpm format + - runtime: node + task: check-loc + command: pnpm check:loc - runtime: bun task: test command: bunx vitest run diff --git a/.secrets.baseline b/.secrets.baseline index 826d5b4de..658675d09 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -90,10 +90,6 @@ { "path": "detect_secrets.filters.allowlist.is_line_allowlisted" }, - { - "path": "detect_secrets.filters.common.is_baseline_file", - "filename": ".secrets.baseline" - }, { "path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies", "min_level": 2 @@ -128,7 +124,10 @@ { "path": "detect_secrets.filters.regex.should_exclude_file", "pattern": [ - "(^|/)pnpm-lock\\.yaml$" + "(^|/)\\.venv/", + "(^|/)pnpm-lock\\.yaml$", + "(^|/)(dist|vendor)/", + "(^|/)\\.detect-secrets\\.cfg$" ] }, { @@ -156,26 +155,26 @@ } ], "appcast.xml": [ + { + "type": "Base64 High Entropy String", + "filename": "appcast.xml", + "hashed_secret": "c417f47cebc049c2cfb215b454ac87fee4097e5d", + "is_verified": false, + "line_number": 19 + }, + { + "type": "Base64 High Entropy String", + "filename": "appcast.xml", + "hashed_secret": "70632487bab4b6634ef5bd60d0979b169cf7440a", + "is_verified": false, + "line_number": 98 + }, { "type": "Base64 High Entropy String", "filename": "appcast.xml", "hashed_secret": "4e5f0a148d9ef42afeb73b1c77643e2ef2dee0b9", "is_verified": false, - "line_number": 90 - }, - { - "type": "Base64 High Entropy String", - "filename": "appcast.xml", - "hashed_secret": "f1ccdaf78c308ec2cf608818da13f5f1e4809ed1", - "is_verified": false, - "line_number": 138 - }, - { - "type": "Base64 High Entropy String", - "filename": "appcast.xml", - "hashed_secret": "2691dc9c9ded92ba62a2d8ee589e2d78e2aa0479", - "is_verified": false, - "line_number": 212 + "line_number": 185 } ], "apps/macos/Tests/ClawdbotIPCTests/AnthropicAuthResolverTests.swift": [ @@ -248,6 +247,15 @@ "line_number": 32 } ], + "docs/channels/line.md": [ + { + "type": "Secret Keyword", + "filename": "docs/channels/line.md", + "hashed_secret": "83661b43df128631f891767fbfc5b049af3dce86", + "is_verified": false, + "line_number": 60 + } + ], "docs/channels/matrix.md": [ { "type": "Secret Keyword", @@ -284,27 +292,43 @@ "line_number": 141 } ], + "docs/channels/twitch.md": [ + { + "type": "Secret Keyword", + "filename": "docs/channels/twitch.md", + "hashed_secret": "0d1ba0da3e84e54f29846c93c43182eede365858", + "is_verified": false, + "line_number": 132 + }, + { + "type": "Secret Keyword", + "filename": "docs/channels/twitch.md", + "hashed_secret": "7cb4c5b8b81e266d08d4f106799af98d748bceb9", + "is_verified": false, + "line_number": 312 + } + ], "docs/concepts/memory.md": [ { "type": "Secret Keyword", "filename": "docs/concepts/memory.md", "hashed_secret": "39d711243bfcee9fec8299b204e1aa9c3430fa12", "is_verified": false, - "line_number": 108 + "line_number": 110 }, { "type": "Secret Keyword", "filename": "docs/concepts/memory.md", "hashed_secret": "1a8abbf465c52363ab4c9c6ad945b8e857cbea55", "is_verified": false, - "line_number": 131 + "line_number": 133 }, { "type": "Secret Keyword", "filename": "docs/concepts/memory.md", "hashed_secret": "b9f640d6095b9f6b5a65983f7b76dbbb254e0044", "is_verified": false, - "line_number": 373 + "line_number": 375 } ], "docs/concepts/model-providers.md": [ @@ -313,14 +337,14 @@ "filename": "docs/concepts/model-providers.md", "hashed_secret": "ec3810e10fb78db55ce38b9c18d1c3eb1db739e0", "is_verified": false, - "line_number": 168 + "line_number": 170 }, { "type": "Secret Keyword", "filename": "docs/concepts/model-providers.md", "hashed_secret": "ef83ad68b9b66e008727b7c417c6a8f618b5177e", "is_verified": false, - "line_number": 255 + "line_number": 281 } ], "docs/environment.md": [ @@ -382,63 +406,63 @@ "filename": "docs/gateway/configuration.md", "hashed_secret": "a219d7693c25cd2d93313512e200ff3eb374d281", "is_verified": false, - "line_number": 272 + "line_number": 283 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "b6f56e5e92078ed7c078c46fbfeedcbe5719bc25", "is_verified": false, - "line_number": 274 + "line_number": 285 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "is_verified": false, - "line_number": 1029 + "line_number": 1032 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "1188d5a8ed7edcff5144a9472af960243eacf12e", "is_verified": false, - "line_number": 1470 + "line_number": 1514 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "bde4db9b4c3be4049adc3b9a69851d7c35119770", "is_verified": false, - "line_number": 1486 + "line_number": 1530 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "22af290a1a3d5e941193a41a3d3a9e4ca8da5e27", "is_verified": false, - "line_number": 2268 + "line_number": 2315 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "ec3810e10fb78db55ce38b9c18d1c3eb1db739e0", "is_verified": false, - "line_number": 2344 + "line_number": 2391 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "c1e6ee547fd492df1441ac492e8bb294974712bd", "is_verified": false, - "line_number": 2658 + "line_number": 2705 }, { "type": "Secret Keyword", "filename": "docs/gateway/configuration.md", "hashed_secret": "45d676e7c6ab44cf4b8fa366ef2d8fccd3e6d6e6", "is_verified": false, - "line_number": 2844 + "line_number": 2900 } ], "docs/gateway/local-models.md": [ @@ -463,7 +487,7 @@ "filename": "docs/gateway/tailscale.md", "hashed_secret": "9cb0dc5383312aa15b9dc6745645bde18ff5ade9", "is_verified": false, - "line_number": 75 + "line_number": 78 } ], "docs/help/faq.md": [ @@ -472,35 +496,35 @@ "filename": "docs/help/faq.md", "hashed_secret": "491d458f895b9213facb2ee9375b1b044eaea3ac", "is_verified": false, - "line_number": 925 + "line_number": 1332 }, { "type": "Secret Keyword", "filename": "docs/help/faq.md", "hashed_secret": "a219d7693c25cd2d93313512e200ff3eb374d281", "is_verified": false, - "line_number": 1113 + "line_number": 1594 }, { "type": "Secret Keyword", "filename": "docs/help/faq.md", "hashed_secret": "b6f56e5e92078ed7c078c46fbfeedcbe5719bc25", "is_verified": false, - "line_number": 1114 + "line_number": 1595 }, { "type": "Secret Keyword", "filename": "docs/help/faq.md", "hashed_secret": "ec3810e10fb78db55ce38b9c18d1c3eb1db739e0", "is_verified": false, - "line_number": 1439 + "line_number": 2006 }, { "type": "Secret Keyword", "filename": "docs/help/faq.md", "hashed_secret": "45d676e7c6ab44cf4b8fa366ef2d8fccd3e6d6e6", "is_verified": false, - "line_number": 1715 + "line_number": 2278 } ], "docs/nodes/talk.md": [ @@ -521,13 +545,40 @@ "line_number": 35 } ], + "docs/platforms/macos-vm.md": [ + { + "type": "Secret Keyword", + "filename": "docs/platforms/macos-vm.md", + "hashed_secret": "8dd3bcd07c9ee927e6921c98b4dc6e94e2cc10a9", + "is_verified": false, + "line_number": 212 + } + ], + "docs/plugins/voice-call.md": [ + { + "type": "Secret Keyword", + "filename": "docs/plugins/voice-call.md", + "hashed_secret": "cb46980ce5532f18440dff4bbbe097896a8c08c8", + "is_verified": false, + "line_number": 157 + } + ], "docs/providers/anthropic.md": [ { "type": "Secret Keyword", "filename": "docs/providers/anthropic.md", "hashed_secret": "c7a8c334eef5d1749fface7d42c66f9ae5e8cf36", "is_verified": false, - "line_number": 32 + "line_number": 31 + } + ], + "docs/providers/claude-max-api-proxy.md": [ + { + "type": "Secret Keyword", + "filename": "docs/providers/claude-max-api-proxy.md", + "hashed_secret": "b5c2827eb65bf13b87130e7e3c424ba9ff07cd67", + "is_verified": false, + "line_number": 77 } ], "docs/providers/glm.md": [ @@ -564,13 +615,22 @@ "line_number": 39 } ], + "docs/providers/ollama.md": [ + { + "type": "Secret Keyword", + "filename": "docs/providers/ollama.md", + "hashed_secret": "e774aaeac31c6272107ba89080295e277050fa7c", + "is_verified": false, + "line_number": 29 + } + ], "docs/providers/openai.md": [ { "type": "Secret Keyword", "filename": "docs/providers/openai.md", "hashed_secret": "ec3810e10fb78db55ce38b9c18d1c3eb1db739e0", "is_verified": false, - "line_number": 31 + "line_number": 29 } ], "docs/providers/opencode.md": [ @@ -600,6 +660,22 @@ "line_number": 31 } ], + "docs/providers/venice.md": [ + { + "type": "Secret Keyword", + "filename": "docs/providers/venice.md", + "hashed_secret": "0b1b9301d9cd541620de4e3865d4a8f54f42fa89", + "is_verified": false, + "line_number": 53 + }, + { + "type": "Secret Keyword", + "filename": "docs/providers/venice.md", + "hashed_secret": "c179fe46776696372a90218532dc0d67267f2f04", + "is_verified": false, + "line_number": 233 + } + ], "docs/providers/zai.md": [ { "type": "Secret Keyword", @@ -642,7 +718,7 @@ "filename": "docs/tools/skills.md", "hashed_secret": "c1e6ee547fd492df1441ac492e8bb294974712bd", "is_verified": false, - "line_number": 160 + "line_number": 168 } ], "docs/tools/web.md": [ @@ -672,7 +748,7 @@ "filename": "docs/tools/web.md", "hashed_secret": "674397e2c0c2faaa85961c708d2a96a7cc7af217", "is_verified": false, - "line_number": 223 + "line_number": 230 } ], "docs/tts.md": [ @@ -681,14 +757,14 @@ "filename": "docs/tts.md", "hashed_secret": "bde4db9b4c3be4049adc3b9a69851d7c35119770", "is_verified": false, - "line_number": 72 + "line_number": 93 }, { "type": "Secret Keyword", "filename": "docs/tts.md", "hashed_secret": "1188d5a8ed7edcff5144a9472af960243eacf12e", "is_verified": false, - "line_number": 77 + "line_number": 98 } ], "extensions/bluebubbles/src/actions.test.ts": [ @@ -833,7 +909,7 @@ "filename": "extensions/bluebubbles/src/send.test.ts", "hashed_secret": "faacad0ce4ea1c19b46e128fd79679d37d3d331d", "is_verified": false, - "line_number": 675 + "line_number": 767 } ], "extensions/bluebubbles/src/targets.test.ts": [ @@ -872,6 +948,15 @@ "line_number": 9 } ], + "extensions/google-gemini-cli-auth/oauth.test.ts": [ + { + "type": "Secret Keyword", + "filename": "extensions/google-gemini-cli-auth/oauth.test.ts", + "hashed_secret": "021343c1f561d7bcbc3b513df45cc3a6baf67b43", + "is_verified": false, + "line_number": 26 + } + ], "extensions/matrix/src/matrix/accounts.test.ts": [ { "type": "Secret Keyword", @@ -955,7 +1040,7 @@ "filename": "extensions/nextcloud-talk/src/channel.ts", "hashed_secret": "71f8e7976e4cbc4561c9d62fb283e7f788202acb", "is_verified": false, - "line_number": 390 + "line_number": 391 } ], "extensions/nostr/README.md": [ @@ -1109,6 +1194,40 @@ "line_number": 198 } ], + "extensions/twitch/src/onboarding.test.ts": [ + { + "type": "Secret Keyword", + "filename": "extensions/twitch/src/onboarding.test.ts", + "hashed_secret": "f2b14f68eb995facb3a1c35287b778d5bd785511", + "is_verified": false, + "line_number": 234 + }, + { + "type": "Secret Keyword", + "filename": "extensions/twitch/src/onboarding.test.ts", + "hashed_secret": "c8d8f8140951794fa875ea2c2d010c4382f36566", + "is_verified": false, + "line_number": 244 + } + ], + "extensions/twitch/src/status.test.ts": [ + { + "type": "Secret Keyword", + "filename": "extensions/twitch/src/status.test.ts", + "hashed_secret": "f2b14f68eb995facb3a1c35287b778d5bd785511", + "is_verified": false, + "line_number": 122 + } + ], + "extensions/voice-call/src/config.test.ts": [ + { + "type": "Secret Keyword", + "filename": "extensions/voice-call/src/config.test.ts", + "hashed_secret": "62207a469ec2fdcfc7d66b04c2980ac1501acbf0", + "is_verified": false, + "line_number": 122 + } + ], "extensions/zalo/README.md": [ { "type": "Secret Keyword", @@ -1281,14 +1400,14 @@ "filename": "src/agents/models-config.skips-writing-models-json-no-env-token.test.ts", "hashed_secret": "fcdd655b11f33ba4327695084a347b2ba192976c", "is_verified": false, - "line_number": 112 + "line_number": 120 }, { "type": "Secret Keyword", "filename": "src/agents/models-config.skips-writing-models-json-no-env-token.test.ts", "hashed_secret": "94c4be5a1976115e8152960c21e04400a4fccdf6", "is_verified": false, - "line_number": 146 + "line_number": 154 } ], "src/agents/models-config.uses-first-github-copilot-profile-env-tokens.test.ts": [ @@ -1397,6 +1516,15 @@ "line_number": 178 } ], + "src/agents/pi-embedded-runner/run.overflow-compaction.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/agents/pi-embedded-runner/run.overflow-compaction.test.ts", + "hashed_secret": "3acfb2c2b433c0ea7ff107e33df91b18e52f960f", + "is_verified": false, + "line_number": 30 + } + ], "src/agents/skills.applyskillenvoverrides.test.ts": [ { "type": "Secret Keyword", @@ -1446,28 +1574,28 @@ "filename": "src/agents/tools/web-search.ts", "hashed_secret": "dfba7aade0868074c2861c98e2a9a92f3178a51b", "is_verified": false, - "line_number": 85 + "line_number": 93 }, { "type": "Secret Keyword", "filename": "src/agents/tools/web-search.ts", "hashed_secret": "71f8e7976e4cbc4561c9d62fb283e7f788202acb", "is_verified": false, - "line_number": 190 + "line_number": 198 }, { "type": "Secret Keyword", "filename": "src/agents/tools/web-search.ts", "hashed_secret": "c4865ff9250aca23b0d98eb079dad70ebec1cced", "is_verified": false, - "line_number": 198 + "line_number": 206 }, { "type": "Secret Keyword", "filename": "src/agents/tools/web-search.ts", "hashed_secret": "527ee41f36386e85fa932ef09471ca017f3c95c8", "is_verified": false, - "line_number": 199 + "line_number": 207 } ], "src/agents/tools/web-tools.enabled-defaults.test.ts": [ @@ -1476,14 +1604,14 @@ "filename": "src/agents/tools/web-tools.enabled-defaults.test.ts", "hashed_secret": "47b249a75ca78fdb578d0f28c33685e27ea82684", "is_verified": false, - "line_number": 213 + "line_number": 268 }, { "type": "Secret Keyword", "filename": "src/agents/tools/web-tools.enabled-defaults.test.ts", "hashed_secret": "d0ffd81d6d7ad1bc3c365660fe8882480c9a986e", "is_verified": false, - "line_number": 242 + "line_number": 297 } ], "src/agents/tools/web-tools.fetch.test.ts": [ @@ -1563,6 +1691,15 @@ "line_number": 13 } ], + "src/channels/plugins/normalize/signal.test.ts": [ + { + "type": "Hex High Entropy String", + "filename": "src/channels/plugins/normalize/signal.test.ts", + "hashed_secret": "99c962e8c62296bdc9a17f5caf91ce9bb4c7e0e6", + "is_verified": false, + "line_number": 24 + } + ], "src/cli/update-cli.test.ts": [ { "type": "Hex High Entropy String", @@ -1610,7 +1747,16 @@ "filename": "src/commands/configure.gateway-auth.test.ts", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "is_verified": false, - "line_number": 8 + "line_number": 10 + } + ], + "src/commands/daemon-install-helpers.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/commands/daemon-install-helpers.test.ts", + "hashed_secret": "3acfb2c2b433c0ea7ff107e33df91b18e52f960f", + "is_verified": false, + "line_number": 122 } ], "src/commands/models/list.status.test.ts": [ @@ -1771,41 +1917,50 @@ "line_number": 228 } ], + "src/config/model-alias-defaults.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/config/model-alias-defaults.test.ts", + "hashed_secret": "e9a5f12a8ecbb3eb46eca5096b5c52aa5e7c9fdd", + "is_verified": false, + "line_number": 66 + } + ], "src/config/schema.ts": [ { "type": "Secret Keyword", "filename": "src/config/schema.ts", "hashed_secret": "e73c9fcad85cd4eecc74181ec4bdb31064d68439", "is_verified": false, - "line_number": 184 + "line_number": 190 }, { "type": "Secret Keyword", "filename": "src/config/schema.ts", "hashed_secret": "2eda7cd978f39eebec3bf03e4410a40e14167fff", "is_verified": false, - "line_number": 220 + "line_number": 227 }, { "type": "Secret Keyword", "filename": "src/config/schema.ts", "hashed_secret": "9f4cda226d3868676ac7f86f59e4190eb94bd208", "is_verified": false, - "line_number": 418 + "line_number": 435 }, { "type": "Secret Keyword", "filename": "src/config/schema.ts", "hashed_secret": "01822c8bbf6a8b136944b14182cb885100ec2eae", "is_verified": false, - "line_number": 437 + "line_number": 454 }, { "type": "Secret Keyword", "filename": "src/config/schema.ts", "hashed_secret": "bb7dfd9746e660e4a4374951ec5938ef0e343255", "is_verified": false, - "line_number": 487 + "line_number": 504 } ], "src/config/slack-http-config.test.ts": [ @@ -1905,14 +2060,14 @@ "filename": "src/gateway/server.auth.e2e.test.ts", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "is_verified": false, - "line_number": 179 + "line_number": 192 }, { "type": "Secret Keyword", "filename": "src/gateway/server.auth.e2e.test.ts", "hashed_secret": "a4b48a81cdab1e1a5dd37907d6c85ca1c61ddc7c", "is_verified": false, - "line_number": 197 + "line_number": 210 } ], "src/gateway/session-utils.test.ts": [ @@ -1930,7 +2085,7 @@ "filename": "src/gateway/tools-invoke-http.test.ts", "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", "is_verified": false, - "line_number": 56 + "line_number": 65 } ], "src/gateway/ws-log.test.ts": [ @@ -1971,7 +2126,7 @@ "filename": "src/infra/outbound/message-action-runner.test.ts", "hashed_secret": "789cbe0407840b1c2041cb33452ff60f19bf58cc", "is_verified": false, - "line_number": 385 + "line_number": 423 } ], "src/infra/outbound/outbound-policy.test.ts": [ @@ -2006,6 +2161,56 @@ "line_number": 61 } ], + "src/line/accounts.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/line/accounts.test.ts", + "hashed_secret": "fe1bae27cb7c1fb823f496f286e78f1d2ae87734", + "is_verified": false, + "line_number": 31 + }, + { + "type": "Secret Keyword", + "filename": "src/line/accounts.test.ts", + "hashed_secret": "8a8281cec699f5e51330e21dd7fab3531af6ef0c", + "is_verified": false, + "line_number": 49 + }, + { + "type": "Secret Keyword", + "filename": "src/line/accounts.test.ts", + "hashed_secret": "b4924d9834a1126714643ac231fb6623c14c3449", + "is_verified": false, + "line_number": 75 + } + ], + "src/line/bot-handlers.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/line/bot-handlers.test.ts", + "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", + "is_verified": false, + "line_number": 63 + } + ], + "src/line/bot-message-context.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/line/bot-message-context.test.ts", + "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", + "is_verified": false, + "line_number": 18 + } + ], + "src/line/webhook.test.ts": [ + { + "type": "Secret Keyword", + "filename": "src/line/webhook.test.ts", + "hashed_secret": "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4", + "is_verified": false, + "line_number": 22 + } + ], "src/logging/redact.test.ts": [ { "type": "Base64 High Entropy String", @@ -2128,28 +2333,28 @@ "filename": "src/security/audit.test.ts", "hashed_secret": "b1775a785f09a6ebaf2dc33d6eaeb98974d9cdb8", "is_verified": false, - "line_number": 180 + "line_number": 306 }, { "type": "Hex High Entropy String", "filename": "src/security/audit.test.ts", "hashed_secret": "fa8da98a5bdb77b4902cbb4338e6e94ea825300e", "is_verified": false, - "line_number": 209 + "line_number": 335 }, { "type": "Secret Keyword", "filename": "src/security/audit.test.ts", "hashed_secret": "21f688ab56f76a99e5c6ed342291422f4e57e47f", "is_verified": false, - "line_number": 1046 + "line_number": 1195 }, { "type": "Secret Keyword", "filename": "src/security/audit.test.ts", "hashed_secret": "3dc927d80543dc0f643940b70d066bd4b4c4b78e", "is_verified": false, - "line_number": 1077 + "line_number": 1226 } ], "src/tts/tts.test.ts": [ @@ -2165,7 +2370,28 @@ "filename": "src/tts/tts.test.ts", "hashed_secret": "b214f706bb602c1cc2adc5c6165e73622305f4bb", "is_verified": false, - "line_number": 68 + "line_number": 71 + }, + { + "type": "Secret Keyword", + "filename": "src/tts/tts.test.ts", + "hashed_secret": "75ddfb45216fe09680dfe70eda4f559a910c832c", + "is_verified": false, + "line_number": 396 + }, + { + "type": "Secret Keyword", + "filename": "src/tts/tts.test.ts", + "hashed_secret": "e29af93630aa18cc3457cb5b13937b7ab7c99c9b", + "is_verified": false, + "line_number": 412 + }, + { + "type": "Secret Keyword", + "filename": "src/tts/tts.test.ts", + "hashed_secret": "3acfb2c2b433c0ea7ff107e33df91b18e52f960f", + "is_verified": false, + "line_number": 446 } ], "src/web/qr-image.test.ts": [ @@ -2187,5 +2413,5 @@ } ] }, - "generated_at": "2026-01-25T10:55:04Z" + "generated_at": "2026-01-26T21:28:52Z" } From edf39d0a869a1bbca423283f8c1ad58fa37e6c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D8=A7=D9=84=D8=AE=D8=A7=D8=B3=D8=B1?= <53134489+mubarakx01@users.noreply.github.com> Date: Tue, 27 Jan 2026 08:30:36 +0530 Subject: [PATCH 2/2] chore: relax loc check defaults --- package.json | 2 +- scripts/check-ts-max-loc.ts | 26 +++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0c63d5d69..1310d9ebf 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "protocol:gen:swift": "node --import tsx scripts/protocol-gen-swift.ts", "protocol:check": "pnpm protocol:gen && pnpm protocol:gen:swift && git diff --exit-code -- dist/protocol.schema.json apps/macos/Sources/ClawdbotProtocol/GatewayModels.swift", "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh", - "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500" + "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 3000" }, "keywords": [], "author": "", diff --git a/scripts/check-ts-max-loc.ts b/scripts/check-ts-max-loc.ts index a1272f491..8459fb74c 100644 --- a/scripts/check-ts-max-loc.ts +++ b/scripts/check-ts-max-loc.ts @@ -4,10 +4,13 @@ import { execFileSync } from "node:child_process"; type ParsedArgs = { maxLines: number; + exclude: RegExp[]; }; function parseArgs(argv: string[]): ParsedArgs { let maxLines = 500; + const excludePatterns: string[] = []; + const defaultExcludePatterns = ["^(vendor|dist|docs|extensions|ui|apps)/"]; for (let index = 0; index < argv.length; index++) { const arg = argv[index]; @@ -18,9 +21,25 @@ function parseArgs(argv: string[]): ParsedArgs { index++; continue; } + if (arg === "--exclude") { + const next = argv[index + 1]; + if (!next) throw new Error("Missing --exclude value"); + excludePatterns.push(next); + index++; + continue; + } } - return { maxLines }; + const combinedPatterns = [...defaultExcludePatterns, ...excludePatterns]; + const exclude = combinedPatterns.map((pattern) => { + try { + return new RegExp(pattern); + } catch { + throw new Error(`Invalid --exclude regex: ${pattern}`); + } + }); + + return { maxLines, exclude }; } function gitLsFilesAll(): string[] { @@ -47,10 +66,11 @@ async function main() { throw error; }); - const { maxLines } = parseArgs(process.argv.slice(2)); + const { maxLines, exclude } = parseArgs(process.argv.slice(2)); const files = gitLsFilesAll() .filter((filePath) => existsSync(filePath)) - .filter((filePath) => filePath.endsWith(".ts") || filePath.endsWith(".tsx")); + .filter((filePath) => filePath.endsWith(".ts") || filePath.endsWith(".tsx")) + .filter((filePath) => !exclude.some((pattern) => pattern.test(filePath))); const results = await Promise.all( files.map(async (filePath) => ({ filePath, lines: await countLines(filePath) })),