原汁原昧 Claude Code 可运行,可构建, 可调试版; 生产级工程化, 企业级可靠性; 安全无毒, 内存泄露修复
3151 matches across 14 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/integration/context-build.test.ts | 14 | // ─── CLAUDE.md Integration with System Prompt ───────────────────────── |
| MEDIUM | tests/integration/context-build.test.ts | 67 | // ─── CLAUDE.md Discovery with Real File System ─────────────────────── |
| MEDIUM | tests/integration/context-build.test.ts | 95 | // ─── Large Memory File Filtering ────────────────────────────────────── |
| MEDIUM | tests/integration/message-pipeline.test.ts | 9 | // ─── Message Structure ──────────────────────────────────────────────── |
| MEDIUM | tests/integration/message-pipeline.test.ts | 34 | // ─── Tag Extraction ─────────────────────────────────────────────────── |
| MEDIUM | tests/integration/message-pipeline.test.ts | 51 | // ─── Normalization ──────────────────────────────────────────────────── |
| MEDIUM | tests/integration/tool-chain.test.ts | 9 | // ─── Tool Registration & Discovery ────────────────────────────────────── |
| MEDIUM | tests/integration/tool-chain.test.ts | 68 | // ─── Tool Presets ────────────────────────────────────────────────────── |
| MEDIUM | tests/integration/tool-chain.test.ts | 85 | // ─── getTools (with permission context) ──────────────────────────────── |
| MEDIUM | tests/integration/tool-chain.test.ts | 106 | // ─── buildTool + findToolByName end-to-end ───────────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 40 | // ── Probe 1: tool registration in getAllBaseTools ────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 56 | // ── Probe 2: ALL_AGENT_DISALLOWED_TOOLS layer 1 ──────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 72 | // ── Probe 3: filterParentToolsForFork strips both ────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 89 | // ── Probe 4: validateKey adversarial inputs ──────────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 124 | // ── Probe 5: validatePermissionRule + filter ────────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 183 | // ── Probe 6: VaultHttpFetch scrub functions ──────────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 232 | // ── Probe 7: stripUntrustedControl + XML escape (H4) ────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 371 | // ── Probe 11: VaultHttpFetch URL/scheme validation ────────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 438 | // ── Probe 12 (F2-F5): Round-6 Codex follow-up checks ──────────────────── |
| MEDIUM | scripts/probe-local-wiring.ts | 493 | // ── Summary ───────────────────────────────────────────────────────────── |
| MEDIUM | scripts/check-bundle-integrity.ts | 19 | // ─── 从 package.json 读取 dependencies 作为白名单 ──────────────── |
| MEDIUM | scripts/check-bundle-integrity.ts | 26 | // ─── Node.js 内置模块白名单 ──────────────────────────────────────── |
| MEDIUM | scripts/check-bundle-integrity.ts | 86 | // ─── 模式 ────────────────────────────────────────────────────────── |
| MEDIUM | packages/@ant/ink/src/theme/Divider.tsx | 37 | * // ─────────── Title ─────────── |
| MEDIUM | …vider/src/shared/__tests__/openaiStreamAdapter.test.ts | 720 | // ── cache_read_input_tokens in message_delta (the core bug fix) ────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/executor.ts | 117 | // ── Window management (Windows only, optional) ────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/executor.ts | 131 | // ── Element-targeted actions (Windows UIA, optional) ──────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/mcpServer.ts | 143 | // ─── Async lock gate ───────────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/mcpServer.ts | 186 | // ─── Build overrides fresh ─────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/mcpServer.ts | 237 | // ─── Dispatch ──────────────────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/deniedApps.ts | 53 | // ─── Bundle-ID deny sets (macOS) ───────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/deniedApps.ts | 205 | // ─── Policy-deny (not a tier — cannot be granted at all) ───────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/deniedApps.ts | 316 | // ─── Display-name fallback (cross-platform) ────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/types.ts | 298 | // ── Read state fresh per call ────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/types.ts | 313 | // ── Write-back callbacks ─────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/types.ts | 345 | // ── Lock (async) ─────────────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/types.ts | 531 | // ── Teach mode ─────────────────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4048 | // ── Bound-window auto-routing ────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4153 | // ── Standard dispatch (unbound or tools not rerouted above) ──────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4310 | // ─── Gate 1: kill switch ───────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4318 | // ─── Gate 2: TCC ───────────────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4353 | // ─── Gate 3: global CU lock ────────────────────────────────────────── |
| MEDIUM | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4422 | // ─── Fail-closed dispatch ──────────────────────────────────────────── |
| MEDIUM | …ols/src/tools/VaultHttpFetchTool/VaultHttpFetchTool.ts | 29 | // ── Schemas ────────────────────────────────────────────────────────────────── |
| MEDIUM | …ols/src/tools/VaultHttpFetchTool/VaultHttpFetchTool.ts | 101 | // ── Helpers ────────────────────────────────────────────────────────────────── |
| MEDIUM | …ols/src/tools/VaultHttpFetchTool/VaultHttpFetchTool.ts | 124 | // ── Tool ───────────────────────────────────────────────────────────────────── |
| MEDIUM | …aultHttpFetchTool/__tests__/VaultHttpFetchTool.test.ts | 78 | // ── Helpers ───────────────────────────────────────────────────────────────── |
| MEDIUM | …aultHttpFetchTool/__tests__/VaultHttpFetchTool.test.ts | 98 | // ── Tests ──────────────────────────────────────────────────────────────────── |
| MEDIUM | …c/tools/LocalMemoryRecallTool/LocalMemoryRecallTool.ts | 25 | // ── Per-turn fetch budget tracking ─────────────────────────────────────────── |
| MEDIUM | …c/tools/LocalMemoryRecallTool/LocalMemoryRecallTool.ts | 177 | // ── Schemas ────────────────────────────────────────────────────────────────── |
| MEDIUM | …c/tools/LocalMemoryRecallTool/LocalMemoryRecallTool.ts | 243 | // ── Output truncation helpers ──────────────────────────────────────────────── |
| MEDIUM | …c/tools/LocalMemoryRecallTool/LocalMemoryRecallTool.ts | 296 | // ── Tool ───────────────────────────────────────────────────────────────────── |
| MEDIUM | …n-tools/src/tools/FileEditTool/__tests__/utils.test.ts | 10 | // ─── stripTrailingWhitespace ──────────────────────────────────────────── |
| MEDIUM | …n-tools/src/tools/FileEditTool/__tests__/utils.test.ts | 50 | // ─── findActualString ─────────────────────────────────────────────────── |
| MEDIUM | …n-tools/src/tools/FileEditTool/__tests__/utils.test.ts | 76 | // ─── applyEditToFile ──────────────────────────────────────────────────── |
| MEDIUM | …iltin-tools/src/tools/PowerShellTool/pathValidation.ts | 122 | // ─── Write/create operations ────────────────────────────────────────────── |
| MEDIUM | …iltin-tools/src/tools/PowerShellTool/pathValidation.ts | 372 | // ─── Read operations ────────────────────────────────────────────────────── |
| MEDIUM | …ges/builtin-tools/src/tools/BashTool/pathValidation.ts | 1152 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | …ges/builtin-tools/src/tools/BashTool/pathValidation.ts | 1172 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | …s/BashTool/__tests__/destructiveCommandWarning.test.ts | 5 | // ─── Git data loss ───────────────────────────────────────────────── |
| 627 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | vite.config.ts | 25 | function isAcknowledgedBuildWarning(warning: { |
| LOW | spec/feature_20260508_F001_tool-search/spec-plan-2.md | 221 | function buildToolDiscoveryAttachment( |
| LOW | spec/feature_20260508_F001_tool-search/spec-plan-2.md | 266 | export async function getTurnZeroToolSearchPrefetch( |
| LOW | spec/feature_20260508_F001_tool-search/spec-plan-2.md | 287 | export async function collectToolSearchPrefetch( |
| LOW | docs/memory-leak-audit.md | 490 | function coerceToolContentToString(value: unknown): string { |
| LOW | packages/@ant/ink/docs/09-hooks-reference.md | 252 | function useExitOnCtrlCDWithKeybindings( |
| LOW | packages/@ant/ink/src/core/squash-text-nodes.ts | 18 | export function squashTextNodesToSegments( |
| LOW | packages/@ant/ink/src/core/output.ts | 555 | function styledCharsWithGraphemeClustering( |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 1337 | function blitEscapingAbsoluteDescendants( |
| LOW | packages/@ant/ink/src/core/colorize.ts | 20 | function boostChalkLevelForXtermJs(): boolean { |
| LOW | packages/@ant/ink/src/core/node-cache.ts | 50 | export function consumeAbsoluteRemovedFlag(): boolean { |
| LOW | packages/@ant/ink/src/core/terminal.ts | 23 | export function isProgressReportingAvailable(): boolean { |
| LOW | packages/@ant/ink/src/core/terminal.ts | 68 | export function isSynchronizedOutputSupported(): boolean { |
| LOW | packages/@ant/ink/src/core/terminal.ts | 175 | export function hasCursorUpViewportYankBug(): boolean { |
| LOW | packages/@ant/ink/src/core/screen.ts | 1138 | export function extractHyperlinkFromStyles( |
| LOW | packages/@ant/ink/src/keybindings/KeybindingContext.tsx | 159 | export function useOptionalKeybindingContext(): KeybindingContextValue | null { |
| LOW | packages/@ant/ink/src/keybindings/KeybindingContext.tsx | 178 | export function useRegisterKeybindingContext(context: KeybindingContextName, isActive: boolean = true): void { |
| LOW | packages/@ant/ink/src/hooks/useExitOnCtrlCD.ts | 58 | export function useExitOnCtrlCDWithKeybindings( |
| LOW | packages/@ant/model-provider/src/errorUtils.ts | 42 | export function extractConnectionErrorDetails( |
| LOW | packages/@ant/model-provider/src/errorUtils.ts | 150 | function extractNestedErrorMessage(error: APIError): string | null { |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 24 | export function anthropicMessagesToGemini( |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 76 | function convertInternalUserMessage( |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 104 | function convertUserContentBlockToGeminiParts( |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 152 | function convertInternalAssistantMessage(msg: AssistantMessage): GeminiContent { |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 264 | function toolResultToResponseObject( |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 280 | function normalizeToolResultContent(content: unknown): unknown { |
| LOW | …model-provider/src/providers/gemini/convertMessages.ts | 310 | function getGeminiThoughtSignature( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 14 | function normalizeGeminiJsonSchemaType( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 34 | function inferGeminiJsonSchemaTypeFromValue( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 48 | function inferGeminiJsonSchemaTypeFromEnum( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 59 | function addNullToGeminiJsonSchemaType( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 69 | function sanitizeGeminiJsonSchemaProperties( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 87 | function sanitizeGeminiJsonSchemaArray( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 218 | function sanitizeGeminiFunctionParameters( |
| LOW | …nt/model-provider/src/providers/gemini/convertTools.ts | 261 | export function anthropicToolChoiceToGemini( |
| LOW | …s/@ant/model-provider/src/shared/openaiConvertTools.ts | 129 | export function anthropicToolChoiceToOpenAI( |
| LOW | …ant/model-provider/src/shared/openaiConvertMessages.ts | 32 | export function anthropicMessagesToOpenAI( |
| LOW | …ant/model-provider/src/shared/openaiConvertMessages.ts | 70 | function convertInternalUserMessage( |
| LOW | …ant/model-provider/src/shared/openaiConvertMessages.ts | 163 | function convertInternalAssistantMessage( |
| LOW | …ant/model-provider/src/shared/openaiConvertMessages.ts | 241 | function convertImageBlockToOpenAI( |
| LOW | packages/@ant/claude-for-chrome-mcp/src/mcpServer.ts | 30 | export function createClaudeForChromeMcpServer( |
| LOW | packages/@ant/claude-for-chrome-mcp/src/toolCalls.ts | 181 | function handleToolCallDisconnected( |
| LOW | packages/@ant/computer-use-mcp/src/mcpServer.ts | 255 | export function createComputerUseMcpServer( |
| LOW | packages/@ant/computer-use-mcp/src/deniedApps.ts | 491 | export function getDeniedCategoryByDisplayName( |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 311 | function coordToPercentageForPixelCompare( |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 1373 | function buildPolicyDeniedGuidance( |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 3539 | function handleListGrantedApplications( |
| LOW | packages/weixin/src/permissions.ts | 31 | function pruneExpiredPendingPermissions(now = Date.now()): void { |
| LOW | packages/weixin/src/permissions.ts | 80 | export function clearPermissionStateForTests(): void { |
| LOW | packages/weixin/src/server.ts | 37 | function formatPermissionRequestMessage( |
| LOW | packages/builtin-tools/src/tools/utils.ts | 30 | export function getToolUseIDFromParentMessage( |
| LOW | …ckages/builtin-tools/src/tools/NotebookEditTool/UI.tsx | 49 | export function renderToolUseRejectedMessage( |
| LOW | …ckages/builtin-tools/src/tools/NotebookEditTool/UI.tsx | 74 | export function renderToolUseErrorMessage( |
| LOW | …/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx | 153 | function AskUserQuestionResultMessage({ answers }: { answers: Output['answers'] }): React.ReactNode { |
| LOW | …ckages/builtin-tools/src/tools/ExitPlanModeTool/UI.tsx | 75 | export function renderToolUseRejectedMessage( |
| LOW | …src/tools/SearchExtraToolsTool/SearchExtraToolsTool.ts | 120 | export function clearSearchExtraToolsDescriptionCache(): void { |
| LOW | …s/builtin-tools/src/tools/WebFetchTool/WebFetchTool.ts | 50 | function webFetchToolInputToPermissionRuleContent(input: { |
| LOW | packages/builtin-tools/src/tools/WebFetchTool/utils.ts | 290 | export async function getWithPermittedRedirects( |
| LOW | packages/builtin-tools/src/tools/WebFetchTool/UI.tsx | 23 | export function renderToolUseProgressMessage(): React.ReactNode { |
| LOW | …builtin-tools/src/tools/MCPTool/classifyForCollapse.ts | 595 | export function classifyMcpToolForCollapse( |
| 1887 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/integration/autonomy-lifecycle-user-flow.test.ts | 1 | // Why we use the BUILT bundle instead of src/entrypoints/cli.tsx: |
| LOW | docs/features/voice-mode.md | 201 | ## 五、使用方式 |
| LOW | scripts/defines.ts | 61 | 'WORKFLOW_SCRIPTS', // 工作流脚本(.claude/workflows/ 中的 YAML/MD) |
| LOW | scripts/defines.ts | 81 | // defaults to OFF (see featureCheck.ts). Operators turn on via the |
| LOW | packages/@ant/ink/src/core/dom.ts | 41 | onImmediateRender?: () => void |
| LOW | packages/@ant/ink/src/core/dom.ts | 61 | // naturally cancels (pure accumulator, no target tracking). |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 721 | // padding) begins. Exposed via ScrollBoxHandle.getViewportTop() so |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 741 | node.pendingScrollDelta = undefined |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 761 | // transiently SHRINK scrollHeight (tail unmount + stale heightCache |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 801 | // startup) the probe has resolved — same timing guarantee the |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 881 | } else { |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 961 | // 1. Dirty children — their content changed, blitted pixels are |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 981 | // check cached.y−delta === screenY reduces to delta === delta |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 1101 | boxBackgroundColor, |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 1221 | nodeCache.set(node, rect) |
| LOW | packages/@ant/ink/src/core/render-node-to-output.ts | 1241 | // Without this, a spinner inside a ScrollBox dirties the wrapper on every |
| LOW | packages/@ant/ink/src/core/searchHighlight.ts | 41 | const rowOff = row * w |
| LOW | packages/@ant/ink/src/core/ink.tsx | 181 | // Search highlight query (alt-screen only). Setter below triggers |
| LOW | packages/@ant/ink/src/core/ink.tsx | 201 | // against this set and mutates it in place. |
| LOW | packages/@ant/ink/src/core/ink.tsx | 401 | // Terminals often emit 2+ resize events for one user action (window |
| LOW | packages/@ant/ink/src/core/ink.tsx | 541 | // TEXT (native terminal behavior — the selection walks up the screen |
| LOW | packages/@ant/ink/src/core/ink.tsx | 561 | this.selection.anchor.row <= follow.viewportBottom |
| LOW | packages/@ant/ink/src/core/ink.tsx | 581 | // teleporting the highlight from static footer into the scrollbox. |
| LOW | packages/@ant/ink/src/core/ink.tsx | 601 | if (cleared) for (const cb of this.selectionListeners) cb(); |
| LOW | packages/@ant/ink/src/core/ink.tsx | 721 | } |
| LOW | packages/@ant/ink/src/core/ink.tsx | 741 | // that changed; cells where new=blank and prev-buffer=blank get skipped |
| LOW | packages/@ant/ink/src/core/ink.tsx | 821 | } |
| LOW | packages/@ant/ink/src/core/ink.tsx | 1601 | // only render last frame of non-static output |
| LOW | packages/@ant/ink/src/core/parse-keypress.ts | 21 | // biome-ignore lint/suspicious/noControlCharactersInRegex: terminal escape sequence parsing |
| LOW | packages/@ant/ink/src/core/parse-keypress.ts | 41 | const DA2_RE = /^\x1b\[>([\d;]*)c$/ |
| LOW | packages/@ant/ink/src/core/parse-keypress.ts | 261 | } else if ( |
| LOW | packages/@ant/ink/src/core/log-update.ts | 141 | // _after_ the viewport change which means calcuating text wrapping. |
| LOW | packages/@ant/ink/src/core/log-update.ts | 181 | RESET_SCROLL_REGION + |
| LOW | packages/@ant/ink/src/core/renderer.ts | 81 | cursor: { x: 0, y: 0, visible: true }, |
| LOW | packages/@ant/ink/src/core/renderer.ts | 141 | // root blit would skip the subtree. markDirty walks ancestors so the |
| LOW | packages/@ant/ink/src/core/yoga-layout/index.ts | 421 | // per child per layout pass — ~11k calls for the 1000-node bench, nearly |
| LOW | packages/@ant/ink/src/core/yoga-layout/index.ts | 481 | // generation have stale cache (subtree changed), but within the SAME |
| LOW | packages/@ant/ink/src/core/events/input-event.ts | 81 | |
| LOW | packages/@ant/ink/src/core/events/input-event.ts | 101 | // that converted input to the key name (CSI u or application keypad mode). |
| LOW | packages/@ant/ink/src/core/termio/tokenize.ts | 201 | } |
| LOW | packages/@ant/ink/src/components/App.tsx | 81 | readonly onExit: (error?: Error) => void; |
| LOW | packages/@ant/ink/src/components/App.tsx | 101 | // MULTI_CLICK_TIMEOUT_MS so double-click can cancel it. |
| LOW | packages/@ant/ink/src/components/App.tsx | 321 | // Enable terminal focus reporting (DECSET 1004) |
| LOW | packages/@ant/ink/src/components/App.tsx | 381 | // Helper to flush incomplete escape sequences |
| LOW | packages/@ant/ink/src/components/App.tsx | 721 | // (so an unrelated middle/right click-release doesn't touch selection). |
| LOW | packages/@ant/ink/src/components/App.tsx | 741 | if (!hasSelection(sel) && sel.anchor) { |
| LOW | packages/@ant/ink/src/components/ScrollBox.tsx | 201 | [], |
| LOW | packages/@ant/ink/src/hooks/use-terminal-viewport.ts | 41 | // Runs on every render because yoga layout values can change |
| LOW | packages/@ant/ink/src/hooks/use-declared-cursor.ts | 41 | // When active, set unconditionally. When inactive, clear conditionally |
| LOW | packages/@ant/model-provider/src/index.ts | 1 | // @ant/model-provider |
| LOW | packages/@ant/computer-use-mcp/src/deniedApps.ts | 201 | // Robinhood, NinjaTrader, Coinbase, Kraken, Bloomberg. thinkorswim |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 381 | // |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 2221 | // — if a non-allowlisted app is on top, SCContentFilter would composite it |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4261 | |
| LOW | packages/@ant/computer-use-mcp/src/toolCalls.ts | 4361 | // cuLockChanged, and showing "Claude is using your computer" while the |
| LOW | …ols/src/tools/VaultHttpFetchTool/VaultHttpFetchTool.ts | 201 | // M2 fix (codecov-100 audit #5): the `host` property of `URL` includes |
| LOW | …es/builtin-tools/src/tools/WebFetchTool/preapproved.ts | 1 | // For legal and security concerns, we typically only allow Web Fetch to access |
| LOW | packages/builtin-tools/src/tools/WebFetchTool/utils.ts | 121 | return (turndownServicePromise ??= import('turndown').then(m => { |
| LOW | …c/tools/LocalMemoryRecallTool/LocalMemoryRecallTool.ts | 21 | import { DESCRIPTION, PROMPT } from './prompt.js' |
| LOW | …c/tools/LocalMemoryRecallTool/LocalMemoryRecallTool.ts | 41 | // The Map is module-level. `consumeBudget` evicts oldest entries when the |
| 370 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | build.ts | 8 | // Step 1: Clean output directory |
| LOW | build.ts | 18 | // Step 2: Bundle with splitting |
| LOW | build.ts | 43 | // Step 3: Post-process — replace Bun-only `import.meta.require` with Node.js compatible version |
| LOW | build.ts | 86 | // Step 4: Copy native .node addon files (audio-capture) and vendored binaries (ripgrep) |
| LOW | build.ts | 95 | // Step 5: Generate cli-bun and cli-node executable entry points |
| LOW | scripts/post-build.ts | 16 | // Step 1: Patch globalThis.Bun destructuring in ALL output files |
| LOW | scripts/post-build.ts | 60 | // Step 2: Copy native addon files |
| LOW | scripts/post-build.ts | 71 | // Step 3: Generate dual entry points |
| LOW | …ages/builtin-tools/src/tools/BashTool/sedEditParser.ts | 277 | // Step 1: Protect literal backslashes (\\) first - in both BRE and ERE, \\ is literal backslash |
| LOW | …ages/builtin-tools/src/tools/BashTool/sedEditParser.ts | 279 | // Step 2: Replace escaped metacharacters with placeholders (these should become unescaped in JS) |
| LOW | …ages/builtin-tools/src/tools/BashTool/sedEditParser.ts | 285 | // Step 3: Escape unescaped metacharacters (these are literal in BRE) |
| LOW | …ages/builtin-tools/src/tools/BashTool/sedEditParser.ts | 291 | // Step 4: Replace placeholders with their JS equivalents |
| LOW | packages/acp-link/src/rcs-upstream.ts | 120 | // Step 1: REST registration |
| LOW | packages/acp-link/src/rcs-upstream.ts | 131 | // Step 2: WebSocket connection with identify |
| LOW | src/tasks/LocalShellTask/LocalShellTask.tsx | 335 | // Step 1: Get the task and shell command from current state |
| LOW | src/utils/plugins/installedPluginsManager.ts | 715 | // Step 1: Migrate to single file format (consolidates V1/V2 files, cleans up legacy cache) |
| LOW | src/utils/plugins/installedPluginsManager.ts | 718 | // Step 2: Sync enabledPlugins from settings.json to installed_plugins.json |
| LOW | src/utils/plugins/installedPluginsManager.ts | 726 | // Step 3: Initialize in-memory session state |
| LOW | src/utils/plugins/installedPluginsManager.ts | 1096 | // Step 1: Build a map of pluginId -> scope from all settings.json files |
| LOW | src/utils/plugins/installedPluginsManager.ts | 1131 | // Step 2: Start with existing data (or start empty if no file exists) |
| LOW | src/utils/plugins/installedPluginsManager.ts | 1140 | // Step 3: Update V2 scopes based on settings.json (settings is source of truth) |
| LOW | src/utils/plugins/installedPluginsManager.ts | 1260 | // Step 4: Save to single file (V2 format) |
| LOW | src/utils/plugins/pluginLoader.ts | 1358 | // Step 1: Load or create the plugin manifest |
| LOW | src/utils/plugins/pluginLoader.ts | 1363 | // Step 2: Create the base plugin object |
| LOW | src/utils/plugins/pluginLoader.ts | 1374 | // Step 3: Auto-detect optional directories in parallel |
| LOW | src/utils/plugins/pluginLoader.ts | 1530 | // Step 4: Register agents directory if detected |
| LOW | src/utils/plugins/pluginLoader.ts | 1614 | // Step 5: Load hooks configuration |
| LOW | src/utils/plugins/pluginLoader.ts | 1762 | // Step 6: Load plugin settings |
| LOW | src/utils/permissions/permissionSetup.ts | 901 | // We need to check if base tools were explicitly provided (not just empty default) |
| LOW | src/components/MarkdownTable.tsx | 118 | // Step 1: Get minimum (longest word) and ideal (full content) widths |
| LOW | src/components/MarkdownTable.tsx | 135 | // Step 2: Calculate available space |
| LOW | src/components/MarkdownTable.tsx | 142 | // Step 3: Calculate column widths that fit available space |
| LOW | src/components/MarkdownTable.tsx | 172 | // Step 4: Single-pass cell preparation — wraps each cell once, caches results |
| LOW | src/components/MarkdownTable.tsx | 187 | // Step 5: Calculate max row lines using cached wrapped results |
| LOW | src/components/StructuredDiff/Fallback.tsx | 346 | // Step 1: Transform lines to line objects with type information |
| LOW | src/components/StructuredDiff/Fallback.tsx | 349 | // Step 2: Group adjacent add/remove lines for word-level diffing |
| LOW | src/components/StructuredDiff/Fallback.tsx | 352 | // Step 3: Number the diff lines |
| LOW | src/components/StructuredDiff/Fallback.tsx | 359 | // Step 4: Render formatting |
| LOW | src/hooks/usePipeMuteSync.ts | 84 | // Step 1: Update master-side muted set FIRST (before sending control packets) |
| LOW | src/hooks/usePipeMuteSync.ts | 89 | // Step 2: For newly muted slaves — abort pending permissions, then send relay_mute |
| LOW | src/hooks/usePipeMuteSync.ts | 121 | // Step 3: For newly unmuted slaves — send relay_unmute |
| LOW | src/skills/bundled/skillify.ts | 41 | ### Step 1: Analyze the Session |
| LOW | src/skills/bundled/skillify.ts | 53 | ### Step 2: Interview the User |
| LOW | src/skills/bundled/skillify.ts | 91 | ### Step 3: Write the SKILL.md |
| LOW | src/skills/bundled/skillify.ts | 149 | ### Step 4: Confirm and Save |
| LOW | src/services/compact/sessionMemoryCompact.ts | 244 | // Step 1: Handle tool_use/tool_result pairs |
| LOW | src/services/compact/sessionMemoryCompact.ts | 290 | // Step 2: Handle thinking blocks that share message.id with kept assistant messages |
| LOW | src/services/api/__tests__/betaHeaders.test.ts | 210 | // Step 1: 基础 betas(来自 getAllModelBetas) |
| LOW | src/services/api/__tests__/betaHeaders.test.ts | 217 | // Step 2: paramsFromContext 中的动态添加 |
| LOW | src/services/api/__tests__/betaHeaders.test.ts | 242 | // Step 3: 最终过滤(我们的防御层) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/utils/settings/__tests__/config.test.ts | 80 | commit: 'Generated by AI', |
| HIGH | src/utils/claudeInChrome/setup.ts | 318 | REM Generated by Claude Code - do not edit manually |
| HIGH | src/utils/claudeInChrome/setup.ts | 323 | # Generated by Claude Code - do not edit manually |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …tin-tools/src/tools/PowerShellTool/commandSemantics.ts | 71 | // robocopy.exe: Windows native robust file copy |
| MEDIUM | src/utils/swarm/backends/PaneBackendExecutor.ts | 394 | // A more robust check would query the backend for pane existence |
| MEDIUM | src/utils/powershell/parser.ts | 1068 | // and extracting .Redirections) is both simpler and more robust: it catches |
| MEDIUM | src/hooks/useVoiceIntegration.tsx | 168 | // the gap is seamless once transcript text arrives. |
| MEDIUM | …llLearning/__tests__/throttleAndCircuitBreaker.test.ts | 291 | // In the test environment, queryHaiku will fail (no API key). We leverage |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | packages/remote-control-server/README.md | 21 | -e RCS_API_KEYS=your-api-key-here \ |
| HIGH | packages/remote-control-server/README.md | 58 | export CLAUDE_BRIDGE_OAUTH_TOKEN="your-api-key-here" |
| HIGH | src/services/providerRegistry/switcher.ts | 84 | `Set it before starting Claude Code: export ${found.apiKeyEnv}=<your-api-key>`, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | packages/builtin-tools/src/tools/AgentTool/UI.tsx | 966 | const toolResultBlock = lastToolResult.data.message.message.content.find( |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/utils/plugins/pluginLoader.ts | 1115 | * "name": "John Doe", |
| LOW | src/utils/plugins/marketplaceManager.ts | 1238 | * "owner": { "name": "John Doe", "email": "john@example.com" }, |
| LOW | src/utils/mcp/elicitationValidation.ts | 24 | example: 'user@example.com', |
| LOW | src/utils/git/__tests__/gitConfigParser.test.ts | 39 | const config = '[user]\n\tname = "John Doe"' |
| LOW | src/utils/git/__tests__/gitConfigParser.test.ts | 40 | expect(parseConfigString(config, 'user', null, 'name')).toBe('John Doe') |
| LOW | src/skills/bundled/loremIpsum.ts | 273 | // Just dump the lorem ipsum text into the conversation |
| LOW | src/services/langfuse/__tests__/langfuse.test.ts | 782 | username: 'user@example.com', |
| LOW | src/services/langfuse/__tests__/langfuse.test.ts | 787 | 'user@example.com', |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/utils/computerUse/win32/bridge.py | 392 | except Exception: |
| LOW | src/utils/computerUse/win32/bridge.py | 398 | except Exception as e: |
| LOW | src/utils/computerUse/win32/bridge.py | 418 | except Exception: |
| LOW | src/utils/computerUse/win32/bridge.py | 421 | except Exception: |
| LOW | src/utils/computerUse/win32/bridge.py | 329 | except Exception: |
| LOW | src/utils/computerUse/win32/bridge.py | 362 | except Exception: |
| LOW | src/utils/computerUse/win32/bridge.py | 378 | except Exception: |
| LOW | src/utils/computerUse/win32/bridge.py | 515 | except Exception as e: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …ckages/builtin-tools/src/tools/TodoWriteTool/prompt.ts | 100 | print("Hello World") |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/utils/computerUse/win32/bridge.py | 207 | |
| LOW | src/utils/computerUse/win32/bridge.py | 267 | |
| LOW | src/utils/computerUse/win32/bridge.py | 334 | |
| LOW | src/utils/computerUse/win32/bridge.py | 404 | |
| LOW | src/utils/computerUse/win32/bridge.py | 497 | |
| LOW | src/utils/computerUse/win32/bridge.py | 356 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | src/constants/prompts.ts | 395 | When the task is done, report the result. Do not append "Is there anything else?" or "Let me know if you need anything e |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/utils/computerUse/win32/bridge.py | 338 |