Skip to content

feat(vscode-ide-companion): support /insight command#2593

Draft
yiliang114 wants to merge 9 commits intomainfrom
fix/2023-vscode-insight
Draft

feat(vscode-ide-companion): support /insight command#2593
yiliang114 wants to merge 9 commits intomainfrom
fix/2023-vscode-insight

Conversation

@yiliang114
Copy link
Collaborator

TLDR

Support /insight in VSCode Companion so users can generate insight reports without switching back to the terminal.
This adds ACP-side progress streaming and a VSCode-side report-open handoff when generation completes.

Screenshots / Video Demo

N/A — no user-facing screenshot included in this draft.

Dive Deeper

  1. Allow /insight in the ACP slash-command path used by VSCode Companion.
  2. Stream /insight progress updates over ACP and emit a dedicated report-ready notification with the generated HTML path.
  3. Handle slash-command notifications in the VSCode companion UI and offer an Open Report action via vscode.env.openExternal.

Reviewer Test Plan

  1. Open VSCode Companion and run /insight.
  2. Confirm it no longer reports that the command is unsupported in non-interactive mode.
  3. Confirm progress updates appear in the VSCode UI while the report is being generated.
  4. Wait for completion and confirm VSCode shows an Open Report action.
  5. Click Open Report and confirm the generated local HTML report opens successfully.

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker - - -
Podman - - -
Seatbelt - - -

Executed:

  • npx vitest run packages/cli/src/ui/commands/insightCommand.test.ts packages/cli/src/acp-integration/session/Session.test.ts packages/vscode-ide-companion/src/services/acpConnection.test.ts packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts
  • npm run --workspace=packages/vscode-ide-companion check-types

Linked issues / bugs

Resolves #2023

Related to #1991
Related to #1985
Related to #1990

Add ACP support for /insight progress streaming and report opening in the VSCode companion. Resolves #2023
@github-actions
Copy link
Contributor

📋 Review Summary

This PR adds /insight command support to the VSCode Companion extension, enabling users to generate insight reports without switching to the terminal. The implementation introduces ACP-side progress streaming, a report-ready notification mechanism, and VSCode-side handling to offer opening the generated HTML report. Overall, the code is well-structured with good test coverage and follows existing patterns in the codebase.

🔍 General Feedback

  • The implementation cleanly separates concerns between CLI (progress generation and notification) and VSCode extension (notification handling and UI interaction)
  • Good use of existing ACP notification infrastructure (_qwencode/insight_ready)
  • Test coverage is comprehensive, covering both the CLI-side streaming and VSCode-side notification handling
  • The marker-based approach (INSIGHT_READY_MARKER) for signaling report readiness is clever but could benefit from additional documentation
  • Code follows existing patterns established for other ACP features (e.g., permission requests, ask user question)

🎯 Specific Feedback

🟡 High

  • File: packages/cli/src/ui/commands/insightCommand.ts:126-145 - The async generator pattern for streaming messages has a potential race condition. The void (async () => { ... })() fire-and-forget pattern means errors after the initial push could go unhandled if the consumer stops reading before the generator completes. Consider adding proper error propagation or using a more robust async iterator pattern.

  • File: packages/cli/src/acp-integration/session/Session.ts:875-883 - The insight ready notification parsing relies on string prefix matching with INSIGHT_READY_MARKER. If the marker format ever changes or if there's a collision with regular info messages starting with the same prefix, this could cause silent failures. Consider using a more structured approach (e.g., a dedicated message type or JSON payload).

🟢 Medium

  • File: packages/cli/src/nonInteractiveCliCommands.ts:52-56 - The ALLOWED_BUILTIN_COMMANDS_ACP array spreads ALLOWED_BUILTIN_COMMANDS_NON_INTERACTIVE and adds 'insight'. This is clear, but consider adding a comment explaining why /insight is safe for ACP but not for basic non-interactive mode (i.e., because ACP can stream progress and handle the browser open action via VSCode).

  • File: packages/cli/src/ui/commands/insightCommand.ts:28-38 - The formatAcpInsightProgress function is defined at module scope but is only used within the ACP execution path. Consider moving it inside the ACP branch or documenting why it's exported at module level.

  • File: packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts:131-143 - The slash command notification handler appends all messages as stream chunks. For /insight, this works well, but if other commands use this path with different message types (e.g., errors), they'll all be treated as info chunks. Consider preserving the message type in the stream or adding error-specific handling.

🔵 Low

  • File: packages/cli/src/ui/commands/insightCommand.ts:23 - The INSIGHT_READY_MARKER constant ('__QWEN_INSIGHT_READY__:') is exported but there's no JSDoc comment explaining its purpose. Consider adding documentation like:

    /**  * Marker prefix used to signal insight report readiness in ACP mode.  * The file path follows the marker in the message content.  */ export const INSIGHT_READY_MARKER = '__QWEN_INSIGHT_READY__:';
  • File: packages/vscode-ide-companion/src/types/acpTypes.ts:27-38 - The new SlashCommandNotification and InsightReadyNotification interfaces lack JSDoc comments. Consider adding brief descriptions of when each notification is sent.

  • File: packages/cli/src/acp-integration/session/Session.test.ts:213-262 - The test for /insight ACP handling is comprehensive but could benefit from an additional test case verifying behavior when the insight generation fails (i.e., error message type is properly sent).

  • File: packages/vscode-ide-companion/src/webview/providers/WebViewProvider.test.ts:334-369 - The test for opening insight reports mocks showInformationMessage to return 'Open Report', but there's no test for the case where the user dismisses the dialog (i.e., openExternal should not be called).

✅ Highlights

  • Excellent test coverage: The PR includes thorough tests for both CLI-side (insightCommand.test.ts, Session.test.ts) and VSCode-side (acpConnection.test.ts, WebViewProvider.test.ts) changes
  • Clean separation of concerns: The CLI handles insight generation and progress streaming, while VSCode handles the UI interaction for opening the report
  • Good use of existing patterns: The implementation follows established patterns for ACP notifications (similar to permission requests and ask user question)
  • Proper async handling: The async generator pattern for streaming progress updates is well-implemented and allows real-time feedback to users
  • Type safety: New notification types are properly defined in acpTypes.ts and threaded through the callback system in chatTypes.ts
- Replace `formatAcpInsightProgress` with `encodeAcpInsightProgress` using JSON payload - Move imports to top-level, no longer defer loading for non-ACP mode - Remove `INSIGHT_READY_MARKER` parsing from Session.ts as it's now handled by WebViewProvider
Move INSIGHT_PROGRESS_MARKER and INSIGHT_READY_MARKER from cli and vscode-ide-companion packages to @qwen-code/qwen-code-core for better shareability and to avoid duplication. Also extract ACP_ALLOWED_COMMANDS constant in Session.ts to improve readability and maintainability.
@github-actions
Copy link
Contributor

Code Coverage Summary

Package Lines Statements Functions Branches
CLI 55.17% 55.17% 66.28% 80.14%
Core 73.81% 73.81% 76.67% 81.62%
CLI Package - Full Text Report
-------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s -------------------|---------|----------|---------|---------|------------------- All files | 55.17 | 80.14 | 66.28 | 55.17 | src | 76.06 | 67.64 | 72.22 | 76.06 | gemini.tsx | 60.91 | 63.15 | 75 | 60.91 | ...01,509-512,520 ...ractiveCli.ts | 84.94 | 66.03 | 40 | 84.94 | ...32,342-343,362 ...liCommands.ts | 83.7 | 69.76 | 100 | 83.7 | ...11,246,248,376 ...ActiveAuth.ts | 94.11 | 82.35 | 100 | 94.11 | 27-30 ...cp-integration | 5.52 | 33.33 | 12.5 | 5.52 | acpAgent.ts | 2.81 | 0 | 0 | 2.81 | 71-125,128-635 authMethods.ts | 11.9 | 100 | 0 | 11.9 | 11-32,35-39,42-51 errorCodes.ts | 0 | 0 | 0 | 0 | 1-22 ...DirContext.ts | 100 | 100 | 100 | 100 | ...ration/service | 68.65 | 83.33 | 66.66 | 68.65 | filesystem.ts | 68.65 | 83.33 | 66.66 | 68.65 | ...32,77-94,97-98 ...ration/session | 47.43 | 65.44 | 66.66 | 47.43 | ...ryReplayer.ts | 76 | 79.41 | 90 | 76 | ...19-220,228-229 Session.ts | 32.61 | 55.17 | 47.36 | 32.61 | ...1050,1070-1161 ...entTracker.ts | 77.97 | 71.42 | 90.9 | 77.97 | ...00-407,410-411 index.ts | 0 | 0 | 0 | 0 | 1-40 types.ts | 0 | 0 | 0 | 0 | 1 ...ssion/emitters | 96.24 | 90.09 | 92 | 96.24 | BaseEmitter.ts | 82.6 | 75 | 80 | 82.6 | 23-24,50-51 ...ageEmitter.ts | 100 | 83.33 | 100 | 100 | 84-86 PlanEmitter.ts | 100 | 100 | 100 | 100 | ...allEmitter.ts | 97.96 | 91.66 | 100 | 97.96 | 230-231,320,328 index.ts | 0 | 0 | 0 | 0 | 1-10 src/commands | 67.5 | 100 | 16.66 | 67.5 | auth.ts | 46.55 | 100 | 0 | 46.55 | ...58,67-72,75-76 extensions.tsx | 96.55 | 100 | 50 | 96.55 | 37 hooks.tsx | 62.5 | 100 | 0 | 62.5 | 16-20,24 mcp.ts | 94.11 | 100 | 50 | 94.11 | 26 src/commands/auth | 42.6 | 95.83 | 60 | 42.6 | handler.ts | 27.37 | 94.44 | 14.28 | 27.37 | 55-394 ...veSelector.ts | 100 | 96.66 | 100 | 100 | 58 ...nds/extensions | 85.34 | 91.27 | 81.81 | 85.34 | consent.ts | 71.65 | 89.28 | 42.85 | 71.65 | ...85-141,156-162 disable.ts | 100 | 100 | 100 | 100 | enable.ts | 100 | 100 | 100 | 100 | install.ts | 81.73 | 83.33 | 66.66 | 81.73 | ...17-120,123-130 link.ts | 100 | 100 | 100 | 100 | list.ts | 100 | 100 | 100 | 100 | new.ts | 100 | 100 | 100 | 100 | settings.ts | 99.15 | 100 | 83.33 | 99.15 | 151 uninstall.ts | 37.5 | 100 | 33.33 | 37.5 | 23-45,57-64,67-70 update.ts | 96.32 | 100 | 100 | 96.32 | 101-105 utils.ts | 60.24 | 28.57 | 100 | 60.24 | ...81,83-87,89-93 ...les/mcp-server | 0 | 0 | 0 | 0 | example.ts | 0 | 0 | 0 | 0 | 1-60 ...commands/hooks | 22.22 | 100 | 0 | 22.22 | disable.ts | 22.22 | 100 | 0 | 22.22 | 20-59,65-69,71-74 enable.ts | 22.22 | 100 | 0 | 22.22 | 20-59,65-69,71-74 src/commands/mcp | 97.36 | 87.87 | 90.9 | 97.36 | add.ts | 100 | 96.66 | 100 | 100 | 213 list.ts | 91.22 | 80.76 | 80 | 91.22 | ...19-121,146-147 remove.ts | 100 | 80 | 100 | 100 | 21-25 src/config | 90.66 | 80.38 | 84.12 | 90.66 | auth.ts | 86.92 | 78.84 | 100 | 86.92 | ...98-199,215-216 config.ts | 87.37 | 81.88 | 72.22 | 87.37 | ...1149,1171-1172 keyBindings.ts | 95.87 | 50 | 100 | 95.87 | 159-162 ...idersScope.ts | 92 | 90 | 100 | 92 | 11-12 sandboxConfig.ts | 54.16 | 23.07 | 66.66 | 54.16 | ...44,54-68,73-89 settings.ts | 80.69 | 82.05 | 81.81 | 80.69 | ...98-699,775-792 ...ingsSchema.ts | 100 | 100 | 100 | 100 | ...tedFolders.ts | 96.29 | 94 | 100 | 96.29 | ...88-190,205-206 webSearch.ts | 40.9 | 22.22 | 100 | 40.9 | ...95-102,105-121 ...nfig/migration | 94.56 | 78.94 | 83.33 | 94.56 | index.ts | 93.93 | 88.88 | 100 | 93.93 | 85-86 scheduler.ts | 96.55 | 77.77 | 100 | 96.55 | 19-20 types.ts | 0 | 0 | 0 | 0 | 1 ...ation/versions | 93.63 | 94.5 | 100 | 93.63 | ...-v2-shared.ts | 100 | 100 | 100 | 100 | v1-to-v2.ts | 81.75 | 90.19 | 100 | 81.75 | ...28-229,231-247 v2-to-v3.ts | 100 | 100 | 100 | 100 | src/constants | 92.74 | 94.11 | 66.66 | 92.74 | codingPlan.ts | 92.74 | 94.11 | 66.66 | 92.74 | ...00-301,309-321 src/core | 17.8 | 100 | 0 | 17.8 | auth.ts | 9.52 | 100 | 0 | 9.52 | 21-48 initializer.ts | 15.38 | 100 | 0 | 15.38 | 33-74 theme.ts | 38.46 | 100 | 0 | 38.46 | 17-24 src/generated | 100 | 100 | 100 | 100 | git-commit.ts | 100 | 100 | 100 | 100 | src/i18n | 43.69 | 76.19 | 38.88 | 43.69 | index.ts | 26.11 | 76.92 | 26.66 | 26.11 | ...35-236,246-257 languages.ts | 98.27 | 75 | 100 | 98.27 | 88 src/i18n/locales | 0 | 0 | 0 | 0 | de.js | 0 | 0 | 0 | 0 | 1-1835 en.js | 0 | 0 | 0 | 0 | 1-1879 ja.js | 0 | 0 | 0 | 0 | 1-1332 pt.js | 0 | 0 | 0 | 0 | 1-1826 ru.js | 0 | 0 | 0 | 0 | 1-1834 zh.js | 0 | 0 | 0 | 0 | 1-1691 ...nonInteractive | 68.34 | 71.68 | 68.88 | 68.34 | session.ts | 73.1 | 69.52 | 81.81 | 73.1 | ...03-604,612-622 types.ts | 42.5 | 100 | 33.33 | 42.5 | ...74-575,578-579 ...active/control | 77.48 | 88 | 80 | 77.48 | ...rolContext.ts | 7.69 | 0 | 0 | 7.69 | 47-79 ...Dispatcher.ts | 91.63 | 91.66 | 88.88 | 91.63 | ...54-372,387,390 ...rolService.ts | 8 | 0 | 0 | 8 | 46-179 ...ol/controllers | 7.32 | 80 | 13.79 | 7.32 | ...Controller.ts | 19.32 | 100 | 60 | 19.32 | 81-118,127-210 ...Controller.ts | 0 | 0 | 0 | 0 | 1-56 ...Controller.ts | 3.96 | 100 | 11.11 | 3.96 | ...61-379,389-494 ...Controller.ts | 14.06 | 100 | 0 | 14.06 | ...82-117,130-133 ...Controller.ts | 5.72 | 100 | 0 | 5.72 | ...72-384,393-418 .../control/types | 0 | 0 | 0 | 0 | serviceAPIs.ts | 0 | 0 | 0 | 0 | 1 ...Interactive/io | 97.57 | 92.94 | 96.15 | 97.57 | ...putAdapter.ts | 97.3 | 91.8 | 100 | 97.3 | ...1272,1297-1298 ...putAdapter.ts | 96 | 91.66 | 85.71 | 96 | 51-52 ...nputReader.ts | 100 | 94.73 | 100 | 100 | 67 ...putAdapter.ts | 98.23 | 100 | 89.47 | 98.23 | 70-71,111-112 src/patches | 0 | 0 | 0 | 0 | is-in-ci.ts | 0 | 0 | 0 | 0 | 1-17 src/services | 88.26 | 86.97 | 96.29 | 88.26 | ...mandLoader.ts | 100 | 100 | 100 | 100 | ...killLoader.ts | 100 | 100 | 100 | 100 | ...andService.ts | 100 | 100 | 100 | 100 | ...mandLoader.ts | 86.38 | 81.48 | 100 | 86.38 | ...25-330,335-340 ...omptLoader.ts | 75.1 | 80.64 | 83.33 | 75.1 | ...03-204,270-271 ...nd-factory.ts | 91.2 | 93.33 | 100 | 91.2 | 119-126 ...ation-tool.ts | 100 | 95.45 | 100 | 100 | 125 ...and-parser.ts | 89.74 | 85.71 | 100 | 89.74 | 59-62 types.ts | 100 | 100 | 100 | 100 | ...ght/generators | 85.95 | 86.42 | 90.47 | 85.95 | DataProcessor.ts | 85.68 | 86.46 | 92.85 | 85.68 | ...1110,1114-1121 ...tGenerator.ts | 98.21 | 85.71 | 100 | 98.21 | 46 ...teRenderer.ts | 45.45 | 100 | 0 | 45.45 | 13-51 .../insight/types | 0 | 50 | 50 | 0 | ...sightTypes.ts | 0 | 0 | 0 | 0 | ...sightTypes.ts | 0 | 0 | 0 | 0 | 1 ...mpt-processors | 97.27 | 94.04 | 100 | 97.27 | ...tProcessor.ts | 100 | 100 | 100 | 100 | ...eProcessor.ts | 94.52 | 84.21 | 100 | 94.52 | 46-47,93-94 ...tionParser.ts | 100 | 100 | 100 | 100 | ...lProcessor.ts | 97.41 | 95.65 | 100 | 97.41 | 95-98 types.ts | 100 | 100 | 100 | 100 | src/test-utils | 93.46 | 83.33 | 80 | 93.46 | ...omMatchers.ts | 69.69 | 50 | 50 | 69.69 | 32-35,37-39,45-47 ...andContext.ts | 100 | 100 | 100 | 100 | render.tsx | 100 | 100 | 100 | 100 | src/ui | 65.32 | 71.79 | 48.64 | 65.32 | App.tsx | 100 | 100 | 100 | 100 | AppContainer.tsx | 70.01 | 63.06 | 57.14 | 70.01 | ...1194,1208-1308 ...tionNudge.tsx | 9.58 | 100 | 0 | 9.58 | 24-94 ...ackDialog.tsx | 29.23 | 100 | 0 | 29.23 | 25-75 ...tionNudge.tsx | 7.69 | 100 | 0 | 7.69 | 25-103 colors.ts | 52.72 | 100 | 23.52 | 52.72 | ...52,54-55,60-61 constants.ts | 100 | 100 | 100 | 100 | keyMatchers.ts | 91.83 | 88.46 | 100 | 91.83 | 25-26,54-55 ...tic-colors.ts | 100 | 100 | 100 | 100 | textConstants.ts | 100 | 100 | 100 | 100 | types.ts | 100 | 100 | 100 | 100 | src/ui/auth | 31.78 | 62.85 | 40 | 31.78 | AuthDialog.tsx | 68.3 | 64.7 | 46.15 | 68.3 | ...36,338,340,342 ...nProgress.tsx | 0 | 0 | 0 | 0 | 1-64 useAuth.ts | 2.95 | 100 | 0 | 2.95 | 43-478 src/ui/commands | 53.66 | 77.58 | 44.94 | 53.66 | aboutCommand.ts | 100 | 100 | 100 | 100 | agentsCommand.ts | 64.7 | 100 | 0 | 64.7 | ...30,35-36,39-41 ...odeCommand.ts | 100 | 100 | 100 | 100 | arenaCommand.ts | 32.65 | 67.64 | 37.5 | 32.65 | ...52-557,636-641 authCommand.ts | 100 | 100 | 100 | 100 | bugCommand.ts | 76.47 | 66.66 | 50 | 76.47 | 21-22,57-66 clearCommand.ts | 89.65 | 63.63 | 50 | 89.65 | 22-23,49-50,65-66 ...essCommand.ts | 63.15 | 50 | 50 | 63.15 | ...47-148,162-165 ...extCommand.ts | 4.65 | 100 | 0 | 4.65 | ...8,93-96,99-375 copyCommand.ts | 96.22 | 100 | 50 | 96.22 | 15-16 ...ryCommand.tsx | 59.19 | 73.07 | 37.5 | 59.19 | ...15-216,224-232 docsCommand.ts | 95.23 | 80 | 50 | 95.23 | 20-21 editorCommand.ts | 100 | 100 | 100 | 100 | exportCommand.ts | 55.97 | 91.66 | 33.33 | 55.97 | ...48-349,356-357 ...onsCommand.ts | 44.09 | 85.71 | 27.27 | 44.09 | ...35-236,244-245 helpCommand.ts | 100 | 100 | 100 | 100 | hooksCommand.ts | 11.65 | 100 | 0 | 11.65 | ...63-299,301-321 ideCommand.ts | 56.79 | 57.69 | 35.29 | 56.79 | ...00-301,304-318 initCommand.ts | 81.7 | 70 | 50 | 81.7 | ...67,81-86,88-93 ...ghtCommand.ts | 38.74 | 28.57 | 28.57 | 38.74 | ...10-224,230-244 ...ageCommand.ts | 89.24 | 82.35 | 76.92 | 89.24 | ...20-323,345-346 mcpCommand.ts | 85.71 | 100 | 50 | 85.71 | 14-15 memoryCommand.ts | 70.38 | 77.14 | 33.33 | 70.38 | ...84,291-292,310 modelCommand.ts | 100 | 100 | 100 | 100 | ...onsCommand.ts | 100 | 100 | 100 | 100 | quitCommand.ts | 93.75 | 100 | 50 | 93.75 | 15-16 ...oreCommand.ts | 92.24 | 87.5 | 100 | 92.24 | ...,83-88,129-130 resumeCommand.ts | 100 | 100 | 100 | 100 | ...ngsCommand.ts | 100 | 100 | 100 | 100 | ...hubCommand.ts | 80.12 | 63.63 | 60 | 80.12 | ...69-172,175-178 skillsCommand.ts | 12.5 | 100 | 0 | 12.5 | ...89-105,108-135 statsCommand.ts | 76.92 | 75 | 50 | 76.92 | ...36,50-51,65-66 ...aryCommand.ts | 4.61 | 100 | 0 | 4.61 | 21-24,27-322 ...tupCommand.ts | 100 | 100 | 100 | 100 | themeCommand.ts | 100 | 100 | 100 | 100 | toolsCommand.ts | 95.12 | 100 | 50 | 95.12 | 18-19 trustCommand.ts | 100 | 100 | 100 | 100 | types.ts | 100 | 100 | 100 | 100 | vimCommand.ts | 42.85 | 100 | 0 | 42.85 | 14-15,18-28 src/ui/components | 62.93 | 73.7 | 64.28 | 62.93 | AboutBox.tsx | 100 | 100 | 100 | 100 | AnsiOutput.tsx | 100 | 100 | 100 | 100 | ApiKeyInput.tsx | 18.91 | 100 | 0 | 18.91 | 30-95 AppHeader.tsx | 87.03 | 42.85 | 100 | 87.03 | 33-39,41 ...odeDialog.tsx | 9.7 | 100 | 0 | 9.7 | 35-47,50-182 AsciiArt.ts | 100 | 100 | 100 | 100 | ...Indicator.tsx | 13.95 | 100 | 0 | 13.95 | 18-58 ...TextInput.tsx | 63.22 | 70.27 | 50 | 63.22 | ...12,220-222,240 Composer.tsx | 89.47 | 58.33 | 50 | 89.47 | ...-55,73,110,121 ...itDisplay.tsx | 55.81 | 100 | 50 | 55.81 | 22-38,42-43 ...entPrompt.tsx | 100 | 100 | 100 | 100 | ...ryDisplay.tsx | 75.89 | 62.06 | 100 | 75.89 | ...,88,93-108,113 ...geDisplay.tsx | 90.47 | 75 | 100 | 90.47 | 20-21 ...ification.tsx | 28.57 | 100 | 0 | 28.57 | 16-36 ...gProfiler.tsx | 0 | 0 | 0 | 0 | 1-36 ...ogManager.tsx | 12.69 | 100 | 0 | 12.69 | 53-370 ...ngsDialog.tsx | 8.44 | 100 | 0 | 8.44 | 37-195 ExitWarning.tsx | 100 | 100 | 100 | 100 | ...ustDialog.tsx | 100 | 100 | 100 | 100 | Footer.tsx | 77.31 | 33.33 | 100 | 77.31 | ...64,71-75,77-81 ...ngSpinner.tsx | 54.28 | 50 | 50 | 54.28 | 31-48,61 Header.tsx | 94.28 | 76.92 | 100 | 94.28 | 96,98,103-106 Help.tsx | 98.7 | 68.75 | 100 | 98.7 | 74,129 ...emDisplay.tsx | 68.94 | 44.44 | 100 | 68.94 | ...15,218-224,227 ...ngeDialog.tsx | 100 | 100 | 100 | 100 | InputPrompt.tsx | 83.78 | 76.34 | 100 | 83.78 | ...1047,1106,1151 ...Shortcuts.tsx | 21.11 | 100 | 0 | 21.11 | ...5,48-50,66-124 ...Indicator.tsx | 100 | 100 | 100 | 100 | ...firmation.tsx | 91.42 | 100 | 50 | 91.42 | 26-31 MainContent.tsx | 18.46 | 100 | 0 | 18.46 | 24-80 ...geDisplay.tsx | 0 | 0 | 0 | 0 | 1-41 ModelDialog.tsx | 76.85 | 46.66 | 100 | 76.85 | ...31-440,446-450 ...tsDisplay.tsx | 100 | 100 | 100 | 100 | ...fications.tsx | 18.18 | 100 | 0 | 18.18 | 15-58 ...onsDialog.tsx | 2.18 | 100 | 0 | 2.18 | 62-133,148-986 ...ryDisplay.tsx | 100 | 100 | 100 | 100 | ...icePrompt.tsx | 88.14 | 83.87 | 100 | 88.14 | ...01-105,133-138 PrepareLabel.tsx | 91.66 | 76.19 | 100 | 91.66 | 73-75,77-79,110 ...geDisplay.tsx | 100 | 100 | 100 | 100 | ...ngDisplay.tsx | 21.42 | 100 | 0 | 21.42 | 13-39 ...hProgress.tsx | 85.25 | 88.46 | 100 | 85.25 | 121-147 ...ionPicker.tsx | 94.18 | 92.85 | 100 | 94.18 | 79,194-202 ...ryDisplay.tsx | 100 | 100 | 100 | 100 | ...putPrompt.tsx | 72.56 | 80 | 40 | 72.56 | ...06-109,114-117 ...ngsDialog.tsx | 66.75 | 72.66 | 100 | 66.75 | ...72-780,786-787 ...ionDialog.tsx | 87.8 | 100 | 33.33 | 87.8 | 36-39,44-51 ...putPrompt.tsx | 15.9 | 100 | 0 | 15.9 | 20-63 ...Indicator.tsx | 44.44 | 100 | 0 | 44.44 | 12-17 ...MoreLines.tsx | 28 | 100 | 0 | 28 | 18-40 ...ionPicker.tsx | 8.04 | 100 | 0 | 8.04 | 21-129 StatsDisplay.tsx | 98.66 | 93.33 | 100 | 98.66 | 199-201 ...nsDisplay.tsx | 84.09 | 57.14 | 100 | 84.09 | ...16-118,125-127 ThemeDialog.tsx | 90.95 | 44.44 | 75 | 90.95 | ...16-117,159-161 Tips.tsx | 75 | 60 | 75 | 75 | 23,48-49,52-62 TodoDisplay.tsx | 100 | 100 | 100 | 100 | ...tsDisplay.tsx | 100 | 87.5 | 100 | 100 | 31-32 TrustDialog.tsx | 100 | 81.81 | 100 | 100 | 71-86 ...ification.tsx | 36.36 | 100 | 0 | 36.36 | 15-22 ...ackDialog.tsx | 7.84 | 100 | 0 | 7.84 | 24-134 ...nts/agent-view | 25.14 | 89.36 | 12.5 | 25.14 | ...tChatView.tsx | 8.42 | 100 | 0 | 8.42 | 53-272 ...tComposer.tsx | 9.95 | 100 | 0 | 9.95 | 57-308 AgentFooter.tsx | 17.07 | 100 | 0 | 17.07 | 28-66 AgentHeader.tsx | 15.38 | 100 | 0 | 15.38 | 27-64 AgentTabBar.tsx | 8.25 | 100 | 0 | 8.25 | 35-55,60-167 ...oryAdapter.ts | 100 | 91.3 | 100 | 100 | 102,108-109,137 index.ts | 0 | 0 | 0 | 0 | 1-12 ...mponents/arena | 5.92 | 100 | 0 | 5.92 | ArenaCards.tsx | 4 | 100 | 0 | 4 | 24-129,134-290 ...ectDialog.tsx | 5.28 | 100 | 0 | 5.28 | 32-260 ...artDialog.tsx | 10.15 | 100 | 0 | 10.15 | 27-161 ...tusDialog.tsx | 5.63 | 100 | 0 | 5.63 | 33-75,80-288 ...topDialog.tsx | 6.17 | 100 | 0 | 6.17 | 33-213 ...nts/extensions | 45.28 | 33.33 | 60 | 45.28 | ...gerDialog.tsx | 44.31 | 34.14 | 75 | 44.31 | ...71-480,483-488 index.ts | 0 | 0 | 0 | 0 | 1-9 types.ts | 100 | 100 | 100 | 100 | ...tensions/steps | 54.77 | 94.23 | 66.66 | 54.77 | ...ctionStep.tsx | 95.12 | 92.85 | 85.71 | 95.12 | 84-86,89 ...etailStep.tsx | 6.18 | 100 | 0 | 6.18 | 17-128 ...nListStep.tsx | 88.35 | 94.73 | 80 | 88.35 | 51-52,58-71,105 ...electStep.tsx | 13.46 | 100 | 0 | 13.46 | 20-70 ...nfirmStep.tsx | 19.56 | 100 | 0 | 19.56 | 23-65 index.ts | 100 | 100 | 100 | 100 | ...components/mcp | 18.82 | 84.37 | 77.77 | 18.82 | ...entDialog.tsx | 3.64 | 100 | 0 | 3.64 | 41-717 constants.ts | 100 | 100 | 100 | 100 | index.ts | 0 | 0 | 0 | 0 | 1-30 types.ts | 100 | 100 | 100 | 100 | utils.ts | 96.42 | 87.09 | 100 | 96.42 | 21,96-97 ...ents/mcp/steps | 7.31 | 100 | 0 | 7.31 | ...icateStep.tsx | 7.58 | 100 | 0 | 7.58 | 27-197 ...electStep.tsx | 10.95 | 100 | 0 | 10.95 | 16-88 ...etailStep.tsx | 5.26 | 100 | 0 | 5.26 | 31-247 ...rListStep.tsx | 5.88 | 100 | 0 | 5.88 | 20-176 ...etailStep.tsx | 10.41 | 100 | 0 | 10.41 | ...1,67-79,82-139 ToolListStep.tsx | 7.14 | 100 | 0 | 7.14 | 16-146 ...nents/messages | 74.31 | 77.52 | 58.33 | 74.31 | ...ionDialog.tsx | 65.11 | 73 | 42.85 | 65.11 | ...20,538,556-558 ...onMessage.tsx | 91.93 | 82.35 | 100 | 91.93 | 57-59,61,63 ...nMessages.tsx | 77.35 | 100 | 70 | 77.35 | ...31-244,248-260 DiffRenderer.tsx | 93.19 | 86.17 | 100 | 93.19 | ...09,237-238,304 ...ssMessage.tsx | 12.5 | 100 | 0 | 12.5 | 18-59 ...sMessages.tsx | 16.17 | 100 | 0 | 16.17 | ...1,85-95,99-104 ...ryMessage.tsx | 12.82 | 100 | 0 | 12.82 | 22-59 ...onMessage.tsx | 76.22 | 64.86 | 33.33 | 76.22 | ...30,369-374,405 ...upMessage.tsx | 95.09 | 87.5 | 100 | 95.09 | 40-43,55 ToolMessage.tsx | 83.09 | 72.72 | 90 | 83.09 | ...94-399,473-475 ...ponents/shared | 77.03 | 76.86 | 90.56 | 77.03 | ...ctionList.tsx | 99.03 | 95.65 | 100 | 99.03 | 85 ...tonSelect.tsx | 97.14 | 66.66 | 100 | 97.14 | 72 EnumSelector.tsx | 100 | 96.42 | 100 | 100 | 58 MaxSizedBox.tsx | 81.13 | 81.96 | 88.88 | 81.13 | ...12-513,618-619 MultiSelect.tsx | 5.59 | 100 | 0 | 5.59 | 34-41,44-193 ...tonSelect.tsx | 100 | 100 | 100 | 100 | ...eSelector.tsx | 100 | 60 | 100 | 100 | 40-45 TextInput.tsx | 7.14 | 100 | 0 | 7.14 | 39-222 text-buffer.ts | 82.07 | 75.59 | 96.87 | 82.07 | ...1897,1924,1986 ...er-actions.ts | 86.71 | 67.79 | 100 | 86.71 | ...07-608,809-811 ...ents/subagents | 32.1 | 100 | 0 | 32.1 | constants.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | reducers.tsx | 12.1 | 100 | 0 | 12.1 | 33-190 types.ts | 100 | 100 | 100 | 100 | utils.ts | 10.95 | 100 | 0 | 10.95 | ...1,56-57,60-102 ...bagents/create | 9.13 | 100 | 0 | 9.13 | ...ionWizard.tsx | 7.28 | 100 | 0 | 7.28 | 34-299 ...rSelector.tsx | 14.75 | 100 | 0 | 14.75 | 26-85 ...onSummary.tsx | 4.26 | 100 | 0 | 4.26 | 27-331 ...tionInput.tsx | 8.63 | 100 | 0 | 8.63 | 23-177 ...dSelector.tsx | 33.33 | 100 | 0 | 33.33 | 20-21,26-27,36-63 ...nSelector.tsx | 37.5 | 100 | 0 | 37.5 | 20-21,26-27,36-58 ...EntryStep.tsx | 12.76 | 100 | 0 | 12.76 | 34-78 ToolSelector.tsx | 4.16 | 100 | 0 | 4.16 | 31-253 ...bagents/manage | 8.43 | 100 | 0 | 8.43 | ...ctionStep.tsx | 10.25 | 100 | 0 | 10.25 | 21-103 ...eleteStep.tsx | 20.93 | 100 | 0 | 20.93 | 23-62 ...tEditStep.tsx | 25.53 | 100 | 0 | 25.53 | ...2,37-38,51-124 ...ctionStep.tsx | 2.29 | 100 | 0 | 2.29 | 28-449 ...iewerStep.tsx | 15.21 | 100 | 0 | 15.21 | 18-66 ...gerDialog.tsx | 6.74 | 100 | 0 | 6.74 | 35-341 ...agents/runtime | 7.83 | 100 | 0 | 7.83 | ...onDisplay.tsx | 7.83 | 100 | 0 | 7.83 | ...72-502,511-549 ...mponents/views | 48.59 | 69.23 | 30 | 48.59 | ContextUsage.tsx | 5.07 | 100 | 0 | 5.07 | ...30-145,148-424 ...sionsList.tsx | 87.69 | 73.68 | 100 | 87.69 | 65-72 McpStatus.tsx | 89.53 | 60.52 | 100 | 89.53 | ...72,175-177,262 SkillsList.tsx | 27.27 | 100 | 0 | 27.27 | 18-35 ToolsList.tsx | 100 | 100 | 100 | 100 | src/ui/contexts | 77.03 | 80.63 | 86.11 | 77.03 | ...ewContext.tsx | 65.77 | 100 | 75 | 65.77 | ...22-225,231-241 AppContext.tsx | 40 | 100 | 0 | 40 | 17-22 ...igContext.tsx | 81.81 | 50 | 100 | 81.81 | 15-16 ...ssContext.tsx | 85.47 | 84.12 | 100 | 85.47 | ...55-957,960-962 ...owContext.tsx | 89.28 | 80 | 66.66 | 89.28 | 34,47-48,60-62 ...onContext.tsx | 47.02 | 62.5 | 71.42 | 47.02 | ...36-239,243-246 ...gsContext.tsx | 83.33 | 50 | 100 | 83.33 | 17-18 ...usContext.tsx | 100 | 100 | 100 | 100 | ...ngContext.tsx | 71.42 | 50 | 100 | 71.42 | 17-20 ...nsContext.tsx | 88.88 | 50 | 100 | 88.88 | 102-103 ...teContext.tsx | 85.71 | 50 | 100 | 85.71 | 146-147 ...deContext.tsx | 76.08 | 72.72 | 100 | 76.08 | 47-48,52-59,77-78 src/ui/editors | 93.33 | 85.71 | 66.66 | 93.33 | ...ngsManager.ts | 93.33 | 85.71 | 66.66 | 93.33 | 49,63-64 src/ui/hooks | 79.57 | 81.49 | 81.63 | 79.57 | ...dProcessor.ts | 83.02 | 81.9 | 100 | 83.02 | ...86-387,406-433 keyToAnsi.ts | 3.92 | 100 | 0 | 3.92 | 19-77 ...dProcessor.ts | 94.77 | 70.58 | 100 | 94.77 | ...75-276,281-282 ...dProcessor.ts | 76.38 | 60 | 66.66 | 76.38 | ...52,676,695-699 ...amingState.ts | 12.22 | 100 | 0 | 12.22 | 54-158 ...agerDialog.ts | 88.23 | 100 | 100 | 88.23 | 20,24 ...odeCommand.ts | 58.82 | 100 | 100 | 58.82 | 28,33-48 ...enaCommand.ts | 85 | 100 | 100 | 85 | 23-24,29 ...aInProcess.ts | 19.81 | 66.66 | 25 | 19.81 | 57-175 ...Completion.ts | 92.77 | 89.09 | 100 | 92.77 | ...86-187,220-223 ...ifications.ts | 88.05 | 90 | 100 | 88.05 | 84-93 ...tIndicator.ts | 100 | 93.75 | 100 | 100 | 63 ...ketedPaste.ts | 23.8 | 100 | 0 | 23.8 | 19-37 ...lanUpdates.ts | 100 | 92 | 100 | 100 | 59,158 ...ompletion.tsx | 94.87 | 80.55 | 100 | 94.87 | ...99-200,202-203 ...dMigration.ts | 90.62 | 75 | 100 | 90.62 | 38-40 useCompletion.ts | 92.4 | 87.5 | 100 | 92.4 | 68-69,93-94,98-99 ...ialogClose.ts | 22.22 | 100 | 100 | 22.22 | 67-109 ...orSettings.ts | 100 | 100 | 100 | 100 | ...ionUpdates.ts | 93.45 | 92.3 | 100 | 93.45 | ...83-287,300-306 ...agerDialog.ts | 88.88 | 100 | 100 | 88.88 | 21,25 ...backDialog.ts | 50.37 | 77.77 | 33.33 | 50.37 | ...58-174,195-196 useFocus.ts | 100 | 100 | 100 | 100 | ...olderTrust.ts | 100 | 100 | 100 | 100 | ...miniStream.ts | 75.21 | 71.6 | 80 | 75.21 | ...1470,1506-1607 ...BranchName.ts | 90.9 | 92.3 | 100 | 90.9 | 19-20,55-58 ...oryManager.ts | 98.41 | 93.33 | 100 | 98.41 | 43 ...stListener.ts | 100 | 100 | 100 | 100 | ...nAuthError.ts | 76.19 | 50 | 100 | 76.19 | 39-40,43-45 ...putHistory.ts | 92.59 | 85.71 | 100 | 92.59 | 63-64,72,94-96 ...storyStore.ts | 100 | 94.11 | 100 | 100 | 69 useKeypress.ts | 100 | 100 | 100 | 100 | ...rdProtocol.ts | 36.36 | 100 | 0 | 36.36 | 24-31 ...unchEditor.ts | 8.97 | 100 | 0 | 8.97 | 20-67,74-125 ...gIndicator.ts | 100 | 100 | 100 | 100 | useLogger.ts | 21.05 | 100 | 0 | 21.05 | 15-37 useMcpDialog.ts | 87.5 | 100 | 100 | 87.5 | 19,23 ...oryMonitor.ts | 100 | 100 | 100 | 100 | ...ssageQueue.ts | 100 | 100 | 100 | 100 | ...delCommand.ts | 100 | 100 | 100 | 100 | ...raseCycler.ts | 84.48 | 76.47 | 100 | 84.48 | ...47,50-51,67-69 useQwenAuth.ts | 100 | 100 | 100 | 100 | ...lScheduler.ts | 85.06 | 94.73 | 100 | 85.06 | ...05-208,295-305 ...oryCommand.ts | 0 | 0 | 0 | 0 | 1-7 ...umeCommand.ts | 94.44 | 68.75 | 100 | 94.44 | 59-60,78 ...ompletion.tsx | 90.59 | 83.33 | 100 | 90.59 | ...01,104,137-140 ...ectionList.ts | 96.59 | 94.62 | 100 | 96.59 | ...82-183,237-240 ...sionPicker.ts | 91.66 | 72.34 | 100 | 91.66 | ...45-246,250-251 ...ngsCommand.ts | 18.75 | 100 | 0 | 18.75 | 10-25 ...ellHistory.ts | 91.74 | 79.41 | 100 | 91.74 | ...74,122-123,133 ...oryCommand.ts | 0 | 0 | 0 | 0 | 1-73 ...Completion.ts | 80.97 | 84.4 | 91.66 | 80.97 | ...69-471,479-487 ...tateAndRef.ts | 100 | 100 | 100 | 100 | ...eateDialog.ts | 88.23 | 100 | 100 | 88.23 | 14,18 ...rminalSize.ts | 76.19 | 100 | 50 | 76.19 | 21-25 ...emeCommand.ts | 8.04 | 100 | 0 | 8.04 | 25-112 useTimer.ts | 88.09 | 85.71 | 100 | 88.09 | 44-45,51-53 ...lMigration.ts | 0 | 0 | 0 | 0 | ...rustModify.ts | 100 | 100 | 100 | 100 | ...elcomeBack.ts | 69.44 | 54.54 | 100 | 69.44 | ...85,89-90,96-98 vim.ts | 83.54 | 79.5 | 100 | 83.54 | ...44,748-756,765 src/ui/layouts | 81.6 | 45.45 | 100 | 81.6 | ...AppLayout.tsx | 82.75 | 44.44 | 100 | 82.75 | 37-39,45-52 ...AppLayout.tsx | 79.31 | 50 | 100 | 79.31 | 28-33 src/ui/models | 80.24 | 79.16 | 71.42 | 80.24 | ...ableModels.ts | 80.24 | 79.16 | 71.42 | 80.24 | ...,61-71,123-125 ...noninteractive | 100 | 100 | 9.09 | 100 | ...eractiveUi.ts | 100 | 100 | 9.09 | 100 | src/ui/state | 94.91 | 81.81 | 100 | 94.91 | extensions.ts | 94.91 | 81.81 | 100 | 94.91 | 68-69,88 src/ui/themes | 99 | 58.66 | 100 | 99 | ansi-light.ts | 100 | 100 | 100 | 100 | ansi.ts | 100 | 100 | 100 | 100 | atom-one-dark.ts | 100 | 100 | 100 | 100 | ayu-light.ts | 100 | 100 | 100 | 100 | ayu.ts | 100 | 100 | 100 | 100 | color-utils.ts | 100 | 100 | 100 | 100 | default-light.ts | 100 | 100 | 100 | 100 | default.ts | 100 | 100 | 100 | 100 | dracula.ts | 100 | 100 | 100 | 100 | github-dark.ts | 100 | 100 | 100 | 100 | github-light.ts | 100 | 100 | 100 | 100 | googlecode.ts | 100 | 100 | 100 | 100 | no-color.ts | 100 | 100 | 100 | 100 | qwen-dark.ts | 100 | 100 | 100 | 100 | qwen-light.ts | 100 | 100 | 100 | 100 | ...tic-tokens.ts | 100 | 100 | 100 | 100 | ...-of-purple.ts | 100 | 100 | 100 | 100 | theme-manager.ts | 87.08 | 79.68 | 100 | 87.08 | ...03-312,317-318 theme.ts | 100 | 28.98 | 100 | 100 | 272-461 xcode.ts | 100 | 100 | 100 | 100 | src/ui/utils | 67.87 | 83.29 | 78.75 | 67.87 | ...Colorizer.tsx | 82.78 | 88.23 | 100 | 82.78 | ...10-111,197-223 ...nRenderer.tsx | 59.31 | 38.23 | 100 | 59.31 | ...33-139,149-151 ...wnDisplay.tsx | 85.75 | 88.05 | 100 | 85.75 | ...76-284,317-342 ...eRenderer.tsx | 77.88 | 76.19 | 100 | 77.88 | 54-82 ...boardUtils.ts | 59.61 | 58.82 | 100 | 59.61 | ...,86-88,107-149 commandUtils.ts | 93.27 | 88.37 | 100 | 93.27 | ...32,136,138-139 computeStats.ts | 100 | 100 | 100 | 100 | displayUtils.ts | 60.46 | 100 | 50 | 60.46 | 19-35 formatters.ts | 94.8 | 98.07 | 100 | 94.8 | 101-104 highlight.ts | 98.63 | 95 | 100 | 98.63 | 93 isNarrowWidth.ts | 100 | 100 | 100 | 100 | ...olDetector.ts | 7.89 | 100 | 0 | 7.89 | ...11-112,115-116 layoutUtils.ts | 100 | 100 | 100 | 100 | ...nUtilities.ts | 69.84 | 85.71 | 100 | 69.84 | 75-91,100-101 ...mConstants.ts | 100 | 100 | 100 | 100 | ...storyUtils.ts | 59.68 | 67.69 | 90 | 59.68 | ...40,388,393-415 ...ickerUtils.ts | 100 | 100 | 100 | 100 | terminalSetup.ts | 4.37 | 100 | 0 | 4.37 | 44-393 textUtils.ts | 96.52 | 94.44 | 87.5 | 96.52 | 19-20,148-149 updateCheck.ts | 100 | 80.95 | 100 | 100 | 30-42 ...i/utils/export | 2.36 | 0 | 0 | 2.36 | collect.ts | 0.87 | 100 | 0 | 0.87 | 40-394,401-697 index.ts | 100 | 100 | 100 | 100 | normalize.ts | 1.2 | 100 | 0 | 1.2 | 17-346 types.ts | 0 | 0 | 0 | 0 | 1 utils.ts | 40 | 100 | 0 | 40 | 11-13 ...ort/formatters | 3.38 | 100 | 0 | 3.38 | html.ts | 9.61 | 100 | 0 | 9.61 | ...28,34-76,82-84 json.ts | 50 | 100 | 0 | 50 | 14-15 jsonl.ts | 3.5 | 100 | 0 | 3.5 | 14-76 markdown.ts | 0.94 | 100 | 0 | 0.94 | 13-295 src/utils | 68.73 | 89.64 | 93.7 | 68.73 | acpModelUtils.ts | 100 | 100 | 100 | 100 | ...tification.ts | 92.59 | 71.42 | 100 | 92.59 | 36-37 checks.ts | 33.33 | 100 | 0 | 33.33 | 23-28 cleanup.ts | 65.38 | 100 | 66.66 | 65.38 | 28-37 commands.ts | 100 | 100 | 100 | 100 | commentJson.ts | 100 | 93.75 | 100 | 100 | 30 deepMerge.ts | 100 | 90 | 100 | 100 | 41-43,49 ...ScopeUtils.ts | 97.56 | 88.88 | 100 | 97.56 | 67 ...arResolver.ts | 94.28 | 88.46 | 100 | 94.28 | 28-29,125-126 errors.ts | 98.27 | 95 | 100 | 98.27 | 44-45 events.ts | 100 | 100 | 100 | 100 | gitUtils.ts | 91.91 | 84.61 | 100 | 91.91 | 78-81,124-127 ...AutoUpdate.ts | 51.2 | 90 | 50 | 51.2 | 87-152 ...lationInfo.ts | 100 | 100 | 100 | 100 | languageUtils.ts | 97.87 | 96.42 | 100 | 97.87 | 132-133 math.ts | 0 | 0 | 0 | 0 | 1-15 ...onfigUtils.ts | 100 | 100 | 100 | 100 | ...iveHelpers.ts | 96.84 | 93.28 | 100 | 96.84 | ...87-488,586,599 package.ts | 88.88 | 80 | 100 | 88.88 | 33-34 processUtils.ts | 100 | 100 | 100 | 100 | readStdin.ts | 79.62 | 90 | 80 | 79.62 | 33-40,52-54 relaunch.ts | 98.07 | 76.92 | 100 | 98.07 | 70 resolvePath.ts | 66.66 | 25 | 100 | 66.66 | 12-13,16,18-19 sandbox.ts | 0 | 0 | 0 | 0 | 1-984 settingsUtils.ts | 86.32 | 90.59 | 94.44 | 86.32 | ...38,569,632-644 spawnWrapper.ts | 100 | 100 | 100 | 100 | ...upWarnings.ts | 100 | 100 | 100 | 100 | stdioHelpers.ts | 100 | 60 | 100 | 100 | 23,32 systemInfo.ts | 98.97 | 90.9 | 100 | 98.97 | 171 ...InfoFields.ts | 86.79 | 65.78 | 100 | 86.79 | ...15-116,137-138 ...entEmitter.ts | 100 | 100 | 100 | 100 | ...upWarnings.ts | 91.17 | 82.35 | 100 | 91.17 | 67-68,73-74,77-78 version.ts | 100 | 50 | 100 | 100 | 11 windowTitle.ts | 100 | 100 | 100 | 100 | ...WithBackup.ts | 62.1 | 77.77 | 100 | 62.1 | 93,107,118-157 -------------------|---------|----------|---------|---------|------------------- 
Core Package - Full Text Report
-------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s -------------------|---------|----------|---------|---------|------------------- All files | 73.81 | 81.62 | 76.67 | 73.81 | src | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | src/__mocks__/fs | 0 | 0 | 0 | 0 | promises.ts | 0 | 0 | 0 | 0 | 1-48 src/agents | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | src/agents/arena | 64.56 | 66.66 | 68.49 | 64.56 | ...gentClient.ts | 79.47 | 88.88 | 81.81 | 79.47 | ...68-183,189-204 ArenaManager.ts | 61.9 | 63.09 | 67.27 | 61.9 | ...1611,1620-1630 arena-events.ts | 64.44 | 100 | 50 | 64.44 | ...71-175,178-183 index.ts | 100 | 100 | 100 | 100 | types.ts | 100 | 100 | 100 | 100 | ...gents/backends | 76.77 | 85.23 | 72.6 | 76.77 | ITermBackend.ts | 97.97 | 93.93 | 100 | 97.97 | ...78-180,255,307 ...essBackend.ts | 92.81 | 85.5 | 82.85 | 92.81 | ...15-235,294,390 TmuxBackend.ts | 90.7 | 76.55 | 97.36 | 90.7 | ...87,697,743-747 detect.ts | 31.25 | 100 | 0 | 31.25 | 34-88 index.ts | 100 | 100 | 100 | 100 | iterm-it2.ts | 100 | 92.1 | 100 | 100 | 37-38,106 tmux-commands.ts | 6.64 | 100 | 3.03 | 6.64 | ...93-363,386-503 types.ts | 100 | 100 | 100 | 100 | ...agents/runtime | 80.01 | 75.07 | 70.45 | 80.01 | agent-core.ts | 71.4 | 66.4 | 56.52 | 71.4 | ...-975,1002-1048 agent-events.ts | 86.48 | 100 | 75 | 86.48 | 218-222 ...t-headless.ts | 79.52 | 75 | 55 | 79.52 | ...54-355,358-359 ...nteractive.ts | 83.53 | 78.12 | 77.77 | 83.53 | ...01,503,505,508 ...statistics.ts | 98.19 | 82.35 | 100 | 98.19 | 127,151,192,225 agent-types.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | src/config | 70.25 | 77.94 | 61.17 | 70.25 | config.ts | 66.64 | 74.31 | 54.54 | 66.64 | ...2170,2173-2174 constants.ts | 100 | 100 | 100 | 100 | models.ts | 100 | 100 | 100 | 100 | storage.ts | 95.55 | 92.59 | 91.17 | 95.55 | ...97-198,232-233 ...nfirmation-bus | 24.5 | 100 | 0 | 24.5 | message-bus.ts | 17.2 | 100 | 0 | 17.2 | ...5,78-82,90-124 types.ts | 100 | 100 | 100 | 100 | src/core | 78.04 | 80.32 | 89.36 | 78.04 | baseLlmClient.ts | 100 | 96.42 | 100 | 100 | 115 client.ts | 71.23 | 73.75 | 86.36 | 71.23 | ...79,795,821-837 ...tGenerator.ts | 72.1 | 61.11 | 100 | 72.1 | ...42,344,351-354 ...lScheduler.ts | 65.2 | 74.41 | 89.65 | 65.2 | ...1772,1782-1786 geminiChat.ts | 84.16 | 84.66 | 86.2 | 84.16 | ...87-698,732-735 geminiRequest.ts | 100 | 100 | 100 | 100 | ...htProtocol.ts | 100 | 100 | 100 | 100 | logger.ts | 82.25 | 81.81 | 100 | 82.25 | ...57-361,407-421 ...tyDefaults.ts | 100 | 100 | 100 | 100 | ...olExecutor.ts | 92.59 | 75 | 50 | 92.59 | 41-42 prompts.ts | 88.66 | 87.87 | 72.72 | 88.66 | ...-876,1079-1080 tokenLimits.ts | 100 | 88.23 | 100 | 100 | 43-44 ...okTriggers.ts | 99.29 | 90.54 | 100 | 99.29 | 122,133 turn.ts | 96.15 | 88.46 | 100 | 96.15 | ...49,362-363,411 ...ntentGenerator | 93.99 | 74.3 | 90.9 | 93.99 | ...tGenerator.ts | 96.61 | 74.1 | 86.66 | 96.61 | ...92-293,427,483 converter.ts | 93.47 | 75 | 100 | 93.47 | ...87-488,498,558 index.ts | 0 | 0 | 0 | 0 | 1-21 ...ntentGenerator | 91.37 | 70.31 | 93.33 | 91.37 | ...tGenerator.ts | 90 | 70.49 | 92.85 | 90 | ...77-283,301-302 index.ts | 100 | 66.66 | 100 | 100 | 45 ...ntentGenerator | 90.27 | 71.57 | 85 | 90.27 | index.ts | 100 | 100 | 100 | 100 | ...tGenerator.ts | 90.22 | 71.57 | 85 | 90.22 | ...59,469-470,498 ...ntentGenerator | 75.52 | 83.85 | 91.42 | 75.52 | constants.ts | 100 | 100 | 100 | 100 | converter.ts | 70.98 | 78.77 | 88.88 | 70.98 | ...1321,1342-1351 errorHandler.ts | 100 | 100 | 100 | 100 | index.ts | 0 | 0 | 0 | 0 | 1-94 ...tGenerator.ts | 48.78 | 91.66 | 77.77 | 48.78 | ...10-163,166-167 pipeline.ts | 93.94 | 87.17 | 100 | 93.94 | ...90,425-426,434 ...CallParser.ts | 90.66 | 88.57 | 100 | 90.66 | ...15-319,349-350 ...rator/provider | 96.09 | 88.07 | 93.75 | 96.09 | dashscope.ts | 96.33 | 87.69 | 93.33 | 96.33 | ...12-213,289-290 deepseek.ts | 90.76 | 75 | 100 | 90.76 | 40-41,45-46,59-60 default.ts | 97.56 | 100 | 85.71 | 97.56 | 85-86 index.ts | 100 | 100 | 100 | 100 | modelscope.ts | 100 | 100 | 100 | 100 | openrouter.ts | 100 | 100 | 100 | 100 | types.ts | 0 | 0 | 0 | 0 | src/extension | 61.24 | 80.07 | 78.44 | 61.24 | ...-converter.ts | 63.44 | 47.82 | 90 | 63.44 | ...81-782,791-823 ...ionManager.ts | 44.6 | 84.12 | 65.11 | 44.6 | ...1314,1335-1354 ...onSettings.ts | 93.46 | 93.05 | 100 | 93.46 | ...17-221,228-232 ...-converter.ts | 54.88 | 94.44 | 60 | 54.88 | ...35-146,158-192 github.ts | 44.89 | 89.65 | 60 | 44.89 | ...49-355,394-447 index.ts | 100 | 100 | 100 | 100 | marketplace.ts | 97.19 | 93.47 | 100 | 97.19 | ...63,183-184,266 override.ts | 94.11 | 88.88 | 100 | 94.11 | 63-64,81-82 settings.ts | 66.26 | 100 | 50 | 66.26 | 81-108,143-149 storage.ts | 94.73 | 90 | 100 | 94.73 | 41-42 ...ableSchema.ts | 100 | 100 | 100 | 100 | variables.ts | 88.46 | 83.33 | 100 | 88.46 | ...19-222,225-228 src/generated | 0 | 0 | 0 | 0 | git-commit.ts | 0 | 0 | 0 | 0 | 1-10 src/hooks | 85.79 | 89.83 | 91.34 | 85.79 | ...Aggregator.ts | 96.17 | 90 | 100 | 96.17 | ...74,276-277,350 ...entHandler.ts | 96.5 | 87.87 | 89.47 | 96.5 | ...26-427,433-442 hookPlanner.ts | 84.67 | 78.57 | 90 | 84.67 | ...26,132,150-161 hookRegistry.ts | 79.54 | 83.92 | 92.85 | 79.54 | ...46-251,340-352 hookRunner.ts | 78.27 | 91.11 | 100 | 78.27 | ...71-274,309-319 hookSystem.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | trustedHooks.ts | 9.75 | 0 | 0 | 9.75 | 24-118 types.ts | 91.42 | 95.94 | 85.18 | 91.42 | ...93-294,354-358 src/ide | 74.28 | 83.39 | 78.33 | 74.28 | constants.ts | 100 | 100 | 100 | 100 | detect-ide.ts | 100 | 100 | 100 | 100 | ide-client.ts | 64.2 | 81.48 | 66.66 | 64.2 | ...9-970,999-1007 ide-installer.ts | 89.06 | 79.31 | 100 | 89.06 | ...36,143-147,160 ideContext.ts | 100 | 100 | 100 | 100 | process-utils.ts | 84.84 | 71.79 | 100 | 84.84 | ...37,151,193-194 types.ts | 100 | 100 | 100 | 100 | src/lsp | 23.15 | 42.62 | 33.91 | 23.15 | ...nfigLoader.ts | 63.43 | 32.09 | 100 | 63.43 | ...86-488,492-498 ...ionFactory.ts | 4.29 | 0 | 0 | 4.29 | ...20-371,377-394 ...geDetector.ts | 76.31 | 46.66 | 66.66 | 76.31 | ...10-215,224-225 ...Normalizer.ts | 4.03 | 100 | 0 | 4.03 | ...48-856,862-916 ...verManager.ts | 10.03 | 75 | 25 | 10.03 | ...64-683,689-719 ...eLspClient.ts | 17.89 | 100 | 0 | 17.89 | ...37-244,254-258 ...LspService.ts | 19.63 | 76.47 | 39.13 | 19.63 | ...26-880,883-893 constants.ts | 100 | 100 | 100 | 100 | types.ts | 100 | 100 | 100 | 100 | src/mcp | 78.74 | 75.68 | 75.92 | 78.74 | constants.ts | 100 | 100 | 100 | 100 | ...h-provider.ts | 86.95 | 100 | 33.33 | 86.95 | ...,93,97,101-102 ...h-provider.ts | 73.74 | 54.45 | 100 | 73.74 | ...64-871,878-880 ...en-storage.ts | 98.62 | 97.72 | 100 | 98.62 | 87-88 oauth-utils.ts | 70.58 | 85.29 | 90.9 | 70.58 | ...70-290,315-344 ...n-provider.ts | 89.83 | 95.83 | 45.45 | 89.83 | ...43,147,151-152 .../token-storage | 79.48 | 86.66 | 86.36 | 79.48 | ...en-storage.ts | 100 | 100 | 100 | 100 | ...en-storage.ts | 82.75 | 82.35 | 92.85 | 82.75 | ...62-172,180-181 ...en-storage.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | ...en-storage.ts | 68.14 | 82.35 | 64.28 | 68.14 | ...81-295,298-314 types.ts | 100 | 100 | 100 | 100 | src/mocks | 0 | 0 | 0 | 0 | msw.ts | 0 | 0 | 0 | 0 | 1-9 src/models | 88.34 | 83.09 | 87.69 | 88.34 | constants.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | ...nfigErrors.ts | 74.22 | 47.82 | 84.61 | 74.22 | ...,67-74,106-117 ...igResolver.ts | 97.5 | 86.44 | 100 | 97.5 | ...95,301,316-317 modelRegistry.ts | 100 | 98.21 | 100 | 100 | 182 modelsConfig.ts | 83.61 | 81.37 | 83.78 | 83.61 | ...1157,1186-1187 types.ts | 100 | 100 | 100 | 100 | src/output | 100 | 100 | 100 | 100 | ...-formatter.ts | 100 | 100 | 100 | 100 | types.ts | 100 | 100 | 100 | 100 | src/permissions | 69 | 89.07 | 45.45 | 69 | index.ts | 100 | 100 | 100 | 100 | ...on-manager.ts | 79.56 | 84.74 | 75 | 79.56 | ...51-552,559-568 rule-parser.ts | 98.02 | 95.58 | 100 | 98.02 | ...93-694,838-840 ...-semantics.ts | 58.28 | 85.18 | 30.2 | 58.28 | ...1604-1614,1643 types.ts | 100 | 100 | 100 | 100 | src/prompts | 29.09 | 100 | 25 | 29.09 | mcp-prompts.ts | 18.18 | 100 | 0 | 18.18 | 11-19 ...t-registry.ts | 31.81 | 100 | 28.57 | 31.81 | ...45,51-58,71-76 src/qwen | 85.87 | 79.93 | 97.18 | 85.87 | ...tGenerator.ts | 98.64 | 98.18 | 100 | 98.64 | 105-106 qwenOAuth2.ts | 84.74 | 75.78 | 93.33 | 84.74 | ...4,963-979,1009 ...kenManager.ts | 83.67 | 76.03 | 100 | 83.67 | ...59-764,785-790 src/services | 80.1 | 78.92 | 84.49 | 80.1 | ...ionService.ts | 93.69 | 90.76 | 100 | 93.69 | ...56,188,190-194 ...ingService.ts | 68.39 | 48.38 | 85.71 | 68.39 | ...25-437,453-454 ...eryService.ts | 80.43 | 95.45 | 75 | 80.43 | ...19-134,140-141 ...temService.ts | 89.16 | 83.33 | 87.5 | 89.16 | ...76,178,247-254 gitService.ts | 66.29 | 90.9 | 55.55 | 66.29 | ...03-113,116-120 ...reeService.ts | 68.75 | 67.04 | 86.95 | 68.75 | ...88-789,805,821 ...ionService.ts | 98.98 | 98.3 | 100 | 98.98 | 260-261 ...ionService.ts | 79.23 | 73.19 | 88.88 | 79.23 | ...53-674,682-706 ...ionService.ts | 82.55 | 78.65 | 81.25 | 82.55 | ...66-967,971-976 src/skills | 76.31 | 80.14 | 77.77 | 76.31 | index.ts | 100 | 100 | 100 | 100 | skill-load.ts | 90.69 | 77.77 | 100 | 90.69 | ...24,144,156-158 skill-manager.ts | 71.57 | 80.76 | 73.91 | 71.57 | ...91-699,702-711 types.ts | 100 | 100 | 100 | 100 | src/subagents | 80.41 | 84.21 | 92.1 | 80.41 | ...tin-agents.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | ...nt-manager.ts | 72.88 | 75.83 | 88 | 72.88 | ...90-912,982-983 types.ts | 100 | 100 | 100 | 100 | validation.ts | 92.34 | 96.51 | 100 | 92.34 | 50-55,59-64,68-73 src/telemetry | 68.22 | 83.28 | 72.19 | 68.22 | config.ts | 100 | 100 | 100 | 100 | constants.ts | 100 | 100 | 100 | 100 | ...-exporters.ts | 36.76 | 100 | 22.22 | 36.76 | ...84,87-88,91-92 index.ts | 100 | 100 | 100 | 100 | ...t.circular.ts | 0 | 0 | 0 | 0 | 1-111 ...t.circular.ts | 0 | 0 | 0 | 0 | 1-128 loggers.ts | 52.94 | 60 | 53.84 | 52.94 | ...1033,1042-1050 metrics.ts | 75.93 | 86.74 | 76.92 | 75.93 | ...09-846,849-878 sdk.ts | 85.13 | 56.25 | 100 | 85.13 | ...78,184-185,191 ...etry-utils.ts | 100 | 100 | 100 | 100 | ...l-decision.ts | 100 | 100 | 100 | 100 | types.ts | 80.48 | 86.23 | 83.87 | 80.48 | ...06-817,826-849 uiTelemetry.ts | 91.87 | 96.15 | 78.57 | 91.87 | ...67-168,174-181 ...ry/qwen-logger | 67.29 | 79.06 | 64.28 | 67.29 | event-types.ts | 0 | 0 | 0 | 0 | qwen-logger.ts | 67.29 | 78.82 | 63.63 | 67.29 | ...1007,1045-1046 src/test-utils | 89.28 | 94.11 | 76.66 | 89.28 | config.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | mock-tool.ts | 86.53 | 93.33 | 75 | 86.53 | ...52,195-196,209 ...aceContext.ts | 100 | 100 | 100 | 100 | src/tools | 72.69 | 78.59 | 79.83 | 72.69 | agent.ts | 71.9 | 92.1 | 92.85 | 71.9 | ...05-506,560-565 ...erQuestion.ts | 87.89 | 73.8 | 90.9 | 87.89 | ...44-345,349-350 diffOptions.ts | 100 | 100 | 100 | 100 | edit.ts | 82.18 | 84.21 | 80 | 82.18 | ...07-508,591-641 exitPlanMode.ts | 85.81 | 86.95 | 100 | 85.81 | ...24-129,157-169 glob.ts | 90.43 | 86.27 | 83.33 | 90.43 | ...20,163,248,251 grep.ts | 69.6 | 85.29 | 72.22 | 69.6 | ...46,486,494-501 ls.ts | 96.72 | 90.14 | 100 | 96.72 | 169-174,205,209 lsp.ts | 72.58 | 60.29 | 90.32 | 72.58 | ...1202,1204-1205 ...nt-manager.ts | 47.47 | 60 | 44.44 | 47.47 | ...73-491,494-531 mcp-client.ts | 29.24 | 69.44 | 46.87 | 29.24 | ...1416,1420-1423 mcp-tool.ts | 90.37 | 87.34 | 96 | 90.37 | ...03-504,554-555 memoryTool.ts | 74.48 | 83.05 | 90.47 | 74.48 | ...48-356,458-542 ...iable-tool.ts | 100 | 84.61 | 100 | 100 | 102,109 read-file.ts | 96.47 | 87.8 | 88.88 | 96.47 | 68,70,72-73,79-80 ripGrep.ts | 95.65 | 88.67 | 100 | 95.65 | ...26,229,307-308 ...-transport.ts | 6.34 | 0 | 0 | 6.34 | 47-145 shell.ts | 85.88 | 77.41 | 92.3 | 85.88 | ...51-455,657-658 skill.ts | 94.08 | 88.88 | 84.61 | 94.08 | ...16,255-258,262 todoWrite.ts | 85.42 | 84.09 | 84.61 | 85.42 | ...05-410,432-433 tool-error.ts | 100 | 100 | 100 | 100 | tool-names.ts | 100 | 100 | 100 | 100 | tool-registry.ts | 62.79 | 65.38 | 59.37 | 62.79 | ...34-543,550-566 tools.ts | 83.77 | 89.58 | 82.35 | 83.77 | ...19-420,436-442 web-fetch.ts | 85.18 | 58.33 | 91.66 | 85.18 | ...54-255,257-258 write-file.ts | 82.13 | 79.66 | 75 | 82.13 | ...12-415,427-462 ...ols/web-search | 72.42 | 76.59 | 76.47 | 72.42 | base-provider.ts | 40.9 | 33.33 | 100 | 40.9 | 40-43,48-56 index.ts | 76.85 | 84.61 | 84.61 | 76.85 | ...62-166,272-282 types.ts | 0 | 0 | 0 | 0 | 1 utils.ts | 60 | 50 | 50 | 60 | 35-42 ...arch/providers | 46.73 | 61.11 | 72.72 | 46.73 | ...e-provider.ts | 8 | 0 | 0 | 8 | 68-83,89-199 ...e-provider.ts | 82 | 55.55 | 100 | 82 | 57-58,61-62,72-76 ...y-provider.ts | 89.79 | 75 | 100 | 89.79 | 62-66 src/utils | 85.55 | 87.28 | 89.07 | 85.55 | LruCache.ts | 0 | 0 | 0 | 0 | 1-41 ...ssageQueue.ts | 100 | 100 | 100 | 100 | ...cFileWrite.ts | 76.08 | 44.44 | 100 | 76.08 | 61-70,72 browser.ts | 7.69 | 100 | 0 | 7.69 | 17-56 ...igResolver.ts | 100 | 100 | 100 | 100 | debugLogger.ts | 96.12 | 93.75 | 93.75 | 96.12 | 164-168 editHelper.ts | 92.67 | 82.14 | 100 | 92.67 | ...52-454,463-464 editor.ts | 96.98 | 93.87 | 100 | 96.98 | ...93-194,196-197 ...arResolver.ts | 94.28 | 88.88 | 100 | 94.28 | 28-29,125-126 ...entContext.ts | 100 | 95 | 100 | 100 | 83 errorParsing.ts | 96.92 | 95 | 100 | 96.92 | 36-37 ...rReporting.ts | 88.46 | 90 | 100 | 88.46 | 69-74 errors.ts | 68.7 | 77.27 | 53.33 | 68.7 | ...86-202,206-212 fetch.ts | 71.97 | 71.42 | 71.42 | 71.97 | ...38,144,157,182 fileUtils.ts | 91.68 | 83.85 | 94.73 | 91.68 | ...28-734,748-754 formatters.ts | 54.54 | 50 | 100 | 54.54 | 12-16 ...eUtilities.ts | 89.21 | 86.66 | 100 | 89.21 | 16-17,49-55,65-66 ...rStructure.ts | 94.36 | 94.28 | 100 | 94.36 | ...17-120,330-335 getPty.ts | 12.5 | 100 | 0 | 12.5 | 21-34 ...noreParser.ts | 92.3 | 89.13 | 100 | 92.3 | ...15-116,186-187 gitUtils.ts | 36.66 | 76.92 | 50 | 36.66 | ...4,88-89,97-148 iconvHelper.ts | 100 | 100 | 100 | 100 | ...rePatterns.ts | 100 | 100 | 100 | 100 | ...ionManager.ts | 100 | 90 | 100 | 100 | 26 jsonl-utils.ts | 8.87 | 100 | 0 | 8.87 | ...51-184,190-196 ...-detection.ts | 100 | 100 | 100 | 100 | ...yDiscovery.ts | 82.97 | 76.59 | 100 | 82.97 | ...75,292-293,296 ...tProcessor.ts | 93.63 | 90.12 | 100 | 93.63 | ...96-302,384-385 ...Inspectors.ts | 61.53 | 100 | 50 | 61.53 | 18-23 ...kerChecker.ts | 84.04 | 78.94 | 100 | 84.04 | 68-69,79-84,92-98 openaiLogger.ts | 86.13 | 81.48 | 100 | 86.13 | ...01-103,126-131 partUtils.ts | 100 | 100 | 100 | 100 | pathReader.ts | 100 | 100 | 100 | 100 | paths.ts | 95.67 | 94.59 | 100 | 95.67 | ...,70-71,103-104 ...ectSummary.ts | 3.75 | 100 | 0 | 3.75 | 27-119 ...tIdContext.ts | 100 | 100 | 100 | 100 | ...rDetection.ts | 58.57 | 76 | 100 | 58.57 | ...4,88-89,95-100 ...noreParser.ts | 85.45 | 81.48 | 100 | 85.45 | ...59,65-66,72-73 rateLimit.ts | 90 | 84.37 | 100 | 90 | 68,79-81 readManyFiles.ts | 85.95 | 85.71 | 100 | 85.95 | ...80-182,198-209 retry.ts | 70.14 | 76.92 | 100 | 70.14 | ...88,206,213-214 ripgrepUtils.ts | 46.53 | 83.33 | 66.66 | 46.53 | ...32-233,245-322 ...tchOptions.ts | 55.88 | 50 | 75 | 55.88 | ...29-130,151-152 safeJsonParse.ts | 74.07 | 83.33 | 100 | 74.07 | 40-46 ...nStringify.ts | 100 | 100 | 100 | 100 | ...aConverter.ts | 90.78 | 87.87 | 100 | 90.78 | ...41-42,93,95-96 ...aValidator.ts | 100 | 82.85 | 100 | 100 | 16-40,94-95,126 ...r-launcher.ts | 76.52 | 87.5 | 66.66 | 76.52 | ...33,135,153-191 shell-utils.ts | 82.24 | 90.37 | 100 | 82.24 | ...21-922,929-933 ...lAstParser.ts | 97.3 | 83.11 | 100 | 97.3 | ...1005-1007,1017 ...nlyChecker.ts | 85.15 | 85.89 | 81.81 | 85.15 | ...13-314,318-319 ...tGenerator.ts | 100 | 90.9 | 100 | 100 | 129 symlink.ts | 77.77 | 50 | 100 | 77.77 | 44,54-59 ...emEncoding.ts | 96.36 | 91.17 | 100 | 96.36 | 59-60,124-125 ...Serializer.ts | 99.07 | 91.22 | 100 | 99.07 | 90,156-158 testUtils.ts | 53.33 | 100 | 33.33 | 53.33 | ...53,59-64,70-72 textUtils.ts | 60 | 100 | 66.66 | 60 | 36-55 thoughtUtils.ts | 100 | 92.85 | 100 | 100 | 71 ...-converter.ts | 94.59 | 85.71 | 100 | 94.59 | 35-36 tool-utils.ts | 93.6 | 91.3 | 100 | 93.6 | ...58-159,162-163 truncation.ts | 100 | 91.3 | 100 | 100 | 52,71 ...aceContext.ts | 96.22 | 92 | 93.33 | 96.22 | ...15-116,133,160 yaml-parser.ts | 92 | 83.67 | 100 | 92 | 49-53,65-69 ...ils/filesearch | 96.17 | 91.4 | 100 | 96.17 | crawlCache.ts | 100 | 100 | 100 | 100 | crawler.ts | 96.22 | 92.3 | 100 | 96.22 | 66-67 fileSearch.ts | 93.22 | 87.14 | 100 | 93.22 | ...30-231,233-234 ignore.ts | 100 | 100 | 100 | 100 | result-cache.ts | 100 | 92.3 | 100 | 100 | 46 ...uest-tokenizer | 56.63 | 74.52 | 74.19 | 56.63 | ...eTokenizer.ts | 41.86 | 76.47 | 69.23 | 41.86 | ...70-443,453-507 index.ts | 100 | 100 | 100 | 100 | ...tTokenizer.ts | 68.39 | 69.49 | 90.9 | 68.39 | ...24-325,327-328 ...ageFormats.ts | 76 | 100 | 33.33 | 76 | 45-48,55-56 textTokenizer.ts | 100 | 100 | 100 | 100 | types.ts | 0 | 0 | 0 | 0 | 1 -------------------|---------|----------|---------|---------|------------------- 

For detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant