runs anywhere. uses anything
2776 matches across 12 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | python/ollama_provider.py | 52 | def _extract_ollama_image_data(block: dict) -> str | None: |
| LOW | python/ollama_provider.py | 64 | def anthropic_to_ollama_messages(messages: list[dict]) -> list[dict]: |
| LOW | python/atomic_chat_provider.py | 30 | async def check_atomic_chat_running() -> bool: |
| LOW | python/tests/test_atomic_chat_provider.py | 16 | async def test_atomic_chat_running_true(): |
| LOW | python/tests/test_atomic_chat_provider.py | 26 | async def test_atomic_chat_running_false_on_exception(): |
| LOW | python/tests/test_atomic_chat_provider.py | 34 | async def test_list_models_returns_ids(): |
| LOW | python/tests/test_atomic_chat_provider.py | 49 | async def test_list_models_empty_on_failure(): |
| LOW | python/tests/test_atomic_chat_provider.py | 57 | async def test_atomic_chat_returns_anthropic_format(): |
| LOW | python/tests/test_atomic_chat_provider.py | 79 | async def test_atomic_chat_prepends_system(): |
| LOW | python/tests/test_atomic_chat_provider.py | 105 | async def test_atomic_chat_sends_correct_payload(): |
| LOW | python/tests/test_ollama_provider.py | 17 | def test_normalize_strips_prefix(): |
| LOW | python/tests/test_ollama_provider.py | 29 | def test_converts_string_content(): |
| LOW | python/tests/test_ollama_provider.py | 35 | def test_converts_text_block_list(): |
| LOW | python/tests/test_ollama_provider.py | 41 | def test_converts_image_block_to_placeholder(): |
| LOW | python/tests/test_ollama_provider.py | 89 | async def test_ollama_running_false_on_exception(): |
| LOW | python/tests/test_ollama_provider.py | 97 | async def test_list_models_returns_names(): |
| LOW | python/tests/test_ollama_provider.py | 109 | async def test_ollama_chat_returns_anthropic_format(): |
| LOW | python/tests/test_ollama_provider.py | 130 | async def test_ollama_chat_prepends_system(): |
| LOW | python/tests/test_smart_router.py | 49 | def test_score_unhealthy_is_inf(): |
| LOW | python/tests/test_smart_router.py | 54 | def test_score_unconfigured_is_inf(): |
| LOW | python/tests/test_smart_router.py | 59 | def test_score_latency_strategy_prefers_faster(): |
| LOW | python/tests/test_smart_router.py | 65 | def test_score_cost_strategy_prefers_cheaper(): |
| LOW | python/tests/test_smart_router.py | 71 | def test_score_balanced_strategy_uses_both(): |
| LOW | python/tests/test_smart_router.py | 77 | def test_score_error_rate_penalty(): |
| LOW | python/tests/test_smart_router.py | 85 | def test_is_large_request_short(): |
| LOW | python/tests/test_smart_router.py | 91 | def test_is_large_request_long(): |
| LOW | python/tests/test_smart_router.py | 99 | def test_select_provider_picks_best_score(): |
| LOW | python/tests/test_smart_router.py | 107 | def test_select_provider_skips_unhealthy(): |
| LOW | python/tests/test_smart_router.py | 115 | def test_select_provider_returns_none_when_all_down(): |
| LOW | python/tests/test_smart_router.py | 124 | def test_get_model_large_request(): |
| LOW | python/tests/test_smart_router.py | 131 | def test_get_model_large_message_overrides_claude_label(): |
| LOW | python/tests/test_smart_router.py | 138 | def test_get_model_small_request(): |
| LOW | python/tests/test_smart_router.py | 148 | async def test_route_returns_best_provider(): |
| LOW | python/tests/test_smart_router.py | 157 | async def test_route_uses_big_model_for_large_message_bodies(): |
| LOW | python/tests/test_smart_router.py | 167 | async def test_route_raises_when_no_providers(): |
| LOW | python/tests/test_smart_router.py | 175 | async def test_route_excludes_providers(): |
| LOW | python/tests/test_smart_router.py | 189 | async def test_record_result_updates_latency(): |
| LOW | python/tests/test_smart_router.py | 197 | async def test_record_result_increments_requests(): |
| LOW | python/tests/test_smart_router.py | 205 | async def test_record_result_increments_errors(): |
| LOW | python/tests/test_smart_router.py | 214 | def test_status_returns_all_providers(): |
| LOW | python/tests/test_smart_router.py | 225 | def test_status_contains_required_fields(): |
| LOW | tests/sdk/sdk-preserved-segment.test.ts | 37 | function createCompactTranscriptWithPreservedSegment( |
| LOW | tests/sdk/helpers/query-test-doubles.ts | 91 | export function createMinimalConversation(sessionId: string): Array<Record<string, unknown>> { |
| LOW | tests/sdk/helpers/query-test-doubles.ts | 118 | export function createMultiTurnConversation( |
| LOW | scripts/no-raw-abort-signal-timeout.test.ts | 45 | function isAllowedDocumentationLine(line: string): boolean { |
| LOW | scripts/no-raw-abort-signal-timeout.test.ts | 82 | function findRawTimeoutSignalUsages(): Finding[] { |
| LOW | scripts/system-check.ts | 67 | export function formatReachabilityFailureDetail( |
| LOW | scripts/system-check.ts | 413 | async function checkProviderGenerationReadiness(): Promise<CheckResult> { |
| LOW | scripts/pr-intent-scan.ts | 168 | function hasSuspiciousDownloadIndicators(url: URL): boolean { |
| LOW | scripts/pr-intent-scan.ts | 236 | function findSensitivePathFindings(line: DiffLine): Finding[] { |
| LOW | scripts/no-telemetry-plugin.ts | 33 | export async function checkGlobalInstallPermissions() { return { hasPermissions: false, npmPrefix: null }; } |
| LOW | scripts/no-telemetry-plugin.ts | 58 | export async function logPermissionContextForAnts() {} |
| LOW | scripts/no-telemetry-plugin.ts | 76 | export function getUndercoverInstructions() { return ''; } |
| LOW | scripts/no-telemetry-plugin.ts | 77 | export function shouldShowUndercoverAutoNotice() { return false; } |
| LOW | scripts/no-telemetry-plugin.ts | 117 | function escapeForResolvedPathRegex(modulePath: string): string { |
| LOW | scripts/provider-launch.ts | 83 | async function resolveOllamaDefaultModel( |
| LOW | scripts/provider-launch.ts | 91 | async function resolveAtomicChatDefaultModel(): Promise<string | null> { |
| LOW | scripts/provider-launch.ts | 140 | function hasUsableGeminiLaunchAuth(env: NodeJS.ProcessEnv): boolean { |
| LOW | vscode-extension/openclaude-vscode/src/presentation.js | 99 | function buildControlCenterViewModel(status = {}) { |
| LOW | vscode-extension/openclaude-vscode/src/extension.js | 206 | async function collectControlCenterState() { |
| 2082 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/sdk/query-methods.test.ts | 241 | // setPermissionMode is tested via buildPermissionContext in permissions.test.ts |
| LOW | scripts/build.ts | 61 | HOOK_PROMPTS: true, // Allow tools to request interactive user prompts |
| LOW | src/main.tsx | 1 | // These side-effects must run before all other imports: |
| LOW | src/main.tsx | 1041 | // var. SleepTool stays disabled (its isEnabled() gates on proactive). |
| LOW | src/main.tsx | 1941 | // explicitly requested. The auto-generated socket is passive — it |
| LOW | src/main.tsx | 1961 | // is idempotent (Object.assign, configureGlobalAgents ejects prior |
| LOW | src/main.tsx | 1981 | // getMemoryFiles) yields naturally, so the CLAUDE.md directory walk |
| LOW | src/main.tsx | 2001 | } |
| LOW | src/main.tsx | 2541 | }); |
| LOW | src/main.tsx | 2601 | // joins this at print.ts:4397. Guarded same as loadInitialMessages — |
| LOW | src/main.tsx | 2721 | // "late-connecting servers visible next turn" doesn't help. SDK init |
| LOW | src/QueryEngine.ts | 441 | const messages = [...this.mutableMessages] |
| LOW | src/query.ts | 321 | |
| LOW | src/query.ts | 481 | ? microcompactResult.compactionInfo?.pendingCacheEdits |
| LOW | src/query.ts | 681 | exceeds200kTokens: |
| LOW | src/query.ts | 701 | // Also skip for compact/session_memory queries — these are forked agents that |
| LOW | src/query.ts | 921 | yieldMessage = { |
| LOW | src/query.ts | 1201 | // Prompt-too-long recovery: the streaming loop withheld the error |
| LOW | src/query.ts | 1801 | toolResultsCount: toolResults.length, |
| LOW | src/interactiveHelpers.tsx | 241 | AutoModeOptInDialog |
| LOW | src/ink/output.ts | 741 | nextCode <= 0x7e |
| LOW | src/ink/dom.ts | 41 | // Used to skip empty renders during React 19's effect double-invoke in test mode |
| LOW | src/ink/dom.ts | 61 | // naturally cancels (pure accumulator, no target tracking). |
| LOW | src/ink/render-node-to-output.ts | 541 | |
| LOW | src/ink/render-node-to-output.ts | 641 | text = applyPaddingToText(node, text, softWrap) |
| LOW | src/ink/render-node-to-output.ts | 741 | |
| LOW | src/ink/render-node-to-output.ts | 761 | } |
| LOW | src/ink/render-node-to-output.ts | 821 | const pending = node.pendingScrollDelta |
| LOW | src/ink/render-node-to-output.ts | 901 | } |
| LOW | src/ink/render-node-to-output.ts | 981 | // position doesn't match where the shift put their old pixels. |
| LOW | src/ink/render-node-to-output.ts | 1001 | // A clean child's yogaTop is unchanged iff this is zero (no |
| LOW | src/ink/render-node-to-output.ts | 1121 | undefined, |
| LOW | src/ink/render-node-to-output.ts | 1261 | // Clipped children (overflow hidden/scroll on both axes) cannot overflow |
| LOW | src/ink/searchHighlight.ts | 41 | const rowOff = row * w |
| LOW | src/ink/ink.tsx | 121 | // pass in onRender can read it and App.tsx can update it from mouse |
| LOW | src/ink/ink.tsx | 141 | private readonly selectionListeners = new Set<() => void>(); |
| LOW | src/ink/ink.tsx | 161 | // INSIDE the BSU/ESU block so clear+paint is atomic. Writing ERASE_SCREEN |
| LOW | src/ink/ink.tsx | 321 | this.backFrame = emptyFrame(this.backFrame.viewport.height, this.backFrame.viewport.width, this.stylePool, this.char |
| LOW | src/ink/ink.tsx | 481 | // still holds the PREVIOUS frame's screen (swap is at ~500 below), so |
| LOW | src/ink/ink.tsx | 501 | } = follow; |
| LOW | src/ink/ink.tsx | 521 | // straddling selection falls through to NEITHER shift NOR capture: |
| LOW | src/ink/ink.tsx | 541 | // Selection overlay: invert cell styles in the screen buffer itself, |
| LOW | src/ink/ink.tsx | 581 | // Layout shifts (spinner appears, status line resizes) can leave stale |
| LOW | src/ink/ink.tsx | 661 | // where the user's attention is. |
| LOW | src/ink/ink.tsx | 761 | } |
| LOW | src/ink/ink.tsx | 1501 | |
| LOW | src/ink/parse-keypress.ts | 21 | // Modifier is optional - when absent, defaults to 1 (no modifiers) |
| LOW | src/ink/parse-keypress.ts | 41 | // eslint-disable-next-line no-control-regex |
| LOW | src/ink/log-update.ts | 161 | // finds only the rows that scrolled IN as diffs. prev.screen is |
| LOW | src/ink/log-update.ts | 201 | // Additionally, the cursor-restore scroll pushes 1 more row into scrollback. |
| LOW | src/ink/renderer.ts | 81 | } |
| LOW | src/ink/components/App.tsx | 41 | readonly exitOnCtrlC: boolean; |
| LOW | src/ink/components/App.tsx | 61 | // time. Returns the URL or undefined. The browser-open is deferred by |
| LOW | src/ink/components/App.tsx | 561 | /** Exported for testing. Mutates app.props.selection and click/hover state. */ |
| LOW | src/ink/components/App.tsx | 661 | // trackpad jitter during an intended double-click (press→wobble→release |
| LOW | src/ink/components/App.tsx | 681 | // (Linkifier._handleMouseUp calls link.activate() but never |
| LOW | src/ink/components/ScrollBox.tsx | 201 | // refs + imports — stable. Empty deps avoids rebuilding the handle on |
| LOW | src/ink/hooks/use-input.ts | 61 | |
| LOW | src/ink/hooks/use-terminal-viewport.ts | 41 | // Runs on every render because yoga layout values can change |
| LOW | src/ink/hooks/use-declared-cursor.ts | 41 | // When active, set unconditionally. When inactive, clear conditionally |
| 380 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | python/smart_router.py | 37 | # ── Provider definitions ────────────────────────────────────────────────────── |
| MEDIUM | python/smart_router.py | 90 | # ── Default provider catalogue ──────────────────────────────────────────────── |
| MEDIUM | python/smart_router.py | 142 | # ── Smart Router ────────────────────────────────────────────────────────────── |
| MEDIUM | python/smart_router.py | 165 | # ── Initialization ──────────────────────────────────────────────────────── |
| MEDIUM | python/smart_router.py | 222 | # ── Routing logic ───────────────────────────────────────────────────────── |
| MEDIUM | python/smart_router.py | 267 | # ── Main routing entry point ────────────────────────────────────────────── |
| MEDIUM | python/smart_router.py | 368 | # ── Status report ───────────────────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 47 | # ── Provider.score() ────────────────────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 83 | # ── SmartRouter.is_large_request() ─────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 97 | # ── SmartRouter.select_provider() ──────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 122 | # ── SmartRouter.get_model_for_provider() ───────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 145 | # ── SmartRouter.route() ─────────────────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 186 | # ── SmartRouter.record_result() ────────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 212 | # ── SmartRouter.status() ───────────────────────────────────────────────────── |
| MEDIUM | python/tests/test_smart_router.py | 14 | # ── Fixtures ────────────────────────────────────────────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 59 | // ── File absent ────────────────────────────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 69 | // ── Valid JSON object ──────────────────────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 91 | // ── Malformed / non-object JSON ────────────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 111 | // ── Cache invalidation ─────────────────────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 126 | // ── Security gate ──────────────────────────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 136 | // ── All getter variants return default ─────────────────────────── |
| MEDIUM | scripts/no-telemetry-growthbook-stub.test.ts | 147 | // ── Gate helpers route through _getFlagValue ────────────────────────── |
| MEDIUM | scripts/no-telemetry-plugin.ts | 25 | // ─── Auto-updater (phones home to GCS + npm) ────────────────── |
| MEDIUM | scripts/no-telemetry-plugin.ts | 42 | // ─── Plugin fetch telemetry (not the marketplace itself) ─────── |
| MEDIUM | scripts/no-telemetry-plugin.ts | 49 | // ─── Transcript / feedback sharing ───────────────────────────── |
| MEDIUM | scripts/no-telemetry-plugin.ts | 55 | // ─── Internal employee logging (not needed in the external build) ───── |
| MEDIUM | scripts/no-telemetry-plugin.ts | 62 | // ─── Deleted Anthropic-internal modules ─────────────────────────────── |
| MEDIUM | scripts/build.ts | 22 | // ── Disabled: require Anthropic infrastructure or missing source ───── |
| MEDIUM | scripts/build.ts | 39 | // ── Enabled: upstream defaults ────────────────────────────────────── |
| MEDIUM | scripts/build.ts | 47 | // ── Enabled: new activations ──────────────────────────────────────── |
| MEDIUM | scripts/build.ts | 64 | // ── Pre-process: replace feature() calls with boolean literals ────── |
| MEDIUM | scripts/build.ts | 419 | // ── SDK Bundle Build ────────────────────────────────────────────────────── |
| MEDIUM | scripts/build.ts | 855 | // ── Validate SDK bundle for React/Ink leakage ────────────────────────────── |
| MEDIUM | scripts/build.ts | 878 | // ── Validate external lists ────────────────────────────────────────────── |
| MEDIUM | src/tools/PowerShellTool/pathValidation.ts | 125 | // ─── Write/create operations ────────────────────────────────────────────── |
| MEDIUM | src/tools/PowerShellTool/pathValidation.ts | 375 | // ─── Read operations ────────────────────────────────────────────────────── |
| MEDIUM | src/tools/BashTool/pathValidation.ts | 1152 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | src/tools/BashTool/pathValidation.ts | 1172 | // ─────────────────────────────────────────────────────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 166 | // ── 1. Create session (POST /v1/code/sessions, no env_id) ─────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 216 | // ── 3. Build v2 transport (SSETransport + CCRClient) ──────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 258 | // ── 4. State ──────────────────────────────────────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 311 | // ── 5. JWT refresh scheduler ──────────────────────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 379 | // ── 6. Wire callbacks (extracted so transport-rebuild can re-wire) ────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 529 | // ── 8. 401 recovery (OAuth refresh + rebuild) ─────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 606 | // ── 8. History flush + drain helpers ──────────────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 658 | // ── 9. Teardown ─────────────────────────────────────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 762 | // ── 10. Handle ────────────────────────────────────────────────────────── |
| MEDIUM | src/bridge/remoteBridgeCore.ts | 889 | // ─── Session API (v2 /code/sessions, no env) ───────────────────────────────── |
| MEDIUM | src/bridge/initReplBridge.ts | 401 | // ── GrowthBook gate: env-less bridge ────────────────────────────────── |
| MEDIUM | src/bridge/initReplBridge.ts | 458 | // ── v1 path: env-based (register/poll/ack/heartbeat) ────────────────── |
| MEDIUM | src/bridge/bridgeMessaging.ts | 31 | // ─── Type guards ───────────────────────────────────────────────────────────── |
| MEDIUM | src/bridge/bridgeMessaging.ts | 124 | // ─── Ingress routing ───────────────────────────────────────────────────────── |
| MEDIUM | src/bridge/bridgeMessaging.ts | 210 | // ─── Server-initiated control requests ─────────────────────────────────────── |
| MEDIUM | src/bridge/bridgeMessaging.ts | 393 | // ─── Result message (for session archival on teardown) ─────────────────────── |
| MEDIUM | src/bridge/bridgeMessaging.ts | 418 | // ─── BoundedUUIDSet (echo-dedup ring buffer) ───────────────────────────────── |
| MEDIUM | src/bridge/bridgeMain.ts | 2765 | // ─── Headless bridge (daemon worker) ──────────────────────────────────────── |
| MEDIUM | src/utils/providerProfile.test.ts | 1532 | // ── Atomic Chat profile tests ──────────────────────────────────────────────── |
| MEDIUM | src/utils/providerModels.test.ts | 9 | // ── parseModelList ──────────────────────────────────────────────────────────── |
| MEDIUM | src/utils/providerModels.test.ts | 88 | // ── getPrimaryModel ─────────────────────────────────────────────────────────── |
| MEDIUM | src/utils/providerModels.test.ts | 116 | // ── hasMultipleModels ───────────────────────────────────────────────────────── |
| 63 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/sdk/session-functions.test.ts | 316 | // Step 1: Create session with conversation |
| LOW | tests/sdk/session-functions.test.ts | 338 | // Step 2: Read messages — should find 2 |
| LOW | tests/sdk/session-functions.test.ts | 342 | // Step 3: Rename — should append title entry |
| LOW | tests/sdk/session-functions.test.ts | 348 | // Step 4: Tag — should append tag entry |
| LOW | tests/sdk/session-functions.test.ts | 354 | // Step 5: Fork — should create new session with remapped UUIDs |
| LOW | tests/sdk/session-functions.test.ts | 376 | // Step 6: Delete original — forked should still exist |
| LOW | tests/sdk/permissions.test.ts | 533 | // Step 1: Timeout fires first — resolves with deny |
| LOW | tests/sdk/permissions.test.ts | 538 | // Step 2: Host responds late with allow — must be ignored |
| LOW | src/tasks/LocalShellTask/LocalShellTask.tsx | 294 | // Step 1: Get the task and shell command from current state |
| LOW | src/utils/stableStringify.ts | 110 | // Step 3: primitives short-circuit (post-toJSON the value may now be one). |
| LOW | src/utils/stableStringify.ts | 113 | // Step 4: arrays — element key is the index as a string. |
| LOW | src/utils/stableStringify.ts | 118 | // Step 5: cycle check on the post-toJSON value. |
| 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 | 1452 | // Step 1: Load or create the plugin manifest |
| LOW | src/utils/plugins/pluginLoader.ts | 1457 | // Step 2: Create the base plugin object |
| LOW | src/utils/plugins/pluginLoader.ts | 1468 | // Step 3: Auto-detect optional directories in parallel |
| LOW | src/utils/plugins/pluginLoader.ts | 1686 | // Step 4: Process additional agent paths from manifest |
| LOW | src/utils/plugins/pluginLoader.ts | 1708 | // Step 5: Process additional skill paths from manifest |
| LOW | src/utils/plugins/pluginLoader.ts | 1730 | // Step 6: Process additional output style paths from manifest |
| LOW | src/utils/plugins/pluginLoader.ts | 1752 | // Step 7: Load hooks configuration |
| LOW | src/utils/plugins/pluginLoader.ts | 1934 | // Step 8: Load plugin settings |
| LOW | src/utils/permissions/permissionSetup.ts | 902 | // We need to check if base tools were explicitly provided (not just empty default) |
| LOW | src/components/MarkdownTable.tsx | 107 | // Step 1: Get minimum (longest word) and ideal (full content) widths |
| LOW | src/components/MarkdownTable.tsx | 123 | // Step 2: Calculate available space |
| LOW | src/components/MarkdownTable.tsx | 130 | // Step 3: Calculate column widths that fit available space |
| LOW | src/components/MarkdownTable.tsx | 158 | // Step 4: Calculate max row lines to determine if vertical format is needed |
| LOW | src/components/StructuredDiff/Fallback.tsx | 353 | // Step 1: Transform lines to line objects with type information |
| LOW | src/components/StructuredDiff/Fallback.tsx | 356 | // Step 2: Group adjacent add/remove lines for word-level diffing |
| LOW | src/components/StructuredDiff/Fallback.tsx | 359 | // Step 3: Number the diff lines |
| LOW | src/components/StructuredDiff/Fallback.tsx | 368 | // Step 4: Render formatting |
| LOW | src/entrypoints/sdk/v2.ts | 637 | // Step 1: Index ALL non-sidechain entries by UUID (user, assistant, system, etc.) |
| LOW | src/entrypoints/sdk/v2.ts | 693 | // Step 2: Only user/assistant entries can be conversation leaves |
| LOW | src/entrypoints/sdk/query.ts | 242 | // Step 1: Read entries — compact-aware for large files |
| LOW | src/entrypoints/sdk/query.ts | 263 | // Step 2: Index ALL non-sidechain entries by UUID (user, assistant, system, etc.) |
| LOW | src/entrypoints/sdk/query.ts | 278 | // Step 3: Apply preserved segment relinks if segment exists |
| LOW | src/entrypoints/sdk/query.ts | 284 | // Step 4: Prune pre-boundary entries (keep only preserved + post-boundary) |
| LOW | src/entrypoints/sdk/query.ts | 324 | // Step 5: Select leaf — either upToUuid target, or latest USER/ASSISTANT entry |
| LOW | src/entrypoints/sdk/query.ts | 358 | // Step 5: Build conversation chain and strip internal fields |
| LOW | src/services/compact/sessionMemoryCompact.ts | 242 | // Step 1: Handle tool_use/tool_result pairs |
| LOW | src/services/compact/sessionMemoryCompact.ts | 288 | // Step 2: Handle thinking blocks that share message.id with kept assistant messages |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | python/smart_router.py | 218 | except Exception as e: |
| LOW | python/ollama_provider.py | 30 | except Exception: |
| LOW | python/ollama_provider.py | 41 | except Exception as e: |
| MEDIUM | python/ollama_provider.py | 25 | def check_ollama_running() -> bool: |
| MEDIUM | python/ollama_provider.py | 34 | def list_ollama_models() -> list[str]: |
| LOW | python/atomic_chat_provider.py | 35 | except Exception: |
| LOW | python/atomic_chat_provider.py | 46 | except Exception as e: |
| MEDIUM | python/atomic_chat_provider.py | 30 | def check_atomic_chat_running() -> bool: |
| MEDIUM | python/atomic_chat_provider.py | 39 | def list_atomic_chat_models() -> list[str]: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/utils/claudeInChrome/setup.ts | 320 | REM Generated by Claude Code - do not edit manually |
| HIGH | src/utils/claudeInChrome/setup.ts | 325 | # Generated by Claude Code - do not edit manually |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | src/tools/PowerShellTool/commandSemantics.ts | 71 | // robocopy.exe: Windows native robust file copy |
| MEDIUM | src/utils/swarm/backends/PaneBackendExecutor.ts | 341 | // 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 | 176 | // the gap is seamless once transcript text arrives. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | src/tools/AgentTool/UI.tsx | 838 | const toolResultBlock = lastToolResult.data.message.message.content.find(c => c.type === 'tool_result'); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | src/tools/TodoWriteTool/prompt.ts | 100 | print("Hello World") |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/utils/plugins/pluginLoader.ts | 1121 | * "name": "John Doe", |
| LOW | src/utils/plugins/marketplaceManager.ts | 1239 | * "owner": { "name": "John Doe", "email": "john@example.com" }, |
| LOW | src/utils/mcp/elicitationValidation.ts | 24 | example: 'user@example.com', |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | python/smart_router.py | 31 | |
| LOW | python/tests/test_smart_router.py | 10 | |
| LOW | python/tests/test_smart_router.py | 10 | |
| LOW | python/tests/test_smart_router.py | 10 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | python/ollama_provider.py | 64 |