Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
This report summarizes scanner evidence for eclipse-theia/theia, a TypeScript project with 21,704 GitHub stars. SynthScan examined 734,574 lines of code across 4360 source files, recording 4047 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 5.9 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3943 finding(s).
Are imports declared and package/API names verified? 86 finding(s).
Are wrappers, guards, and repeated structures necessary? 404 finding(s).
Which changes need focused human review? 4047 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 4047 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | dev-packages/localization-manager/src/deepl-api.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …kages/localization-manager/src/localization-manager.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ges/localization-manager/src/localization-extractor.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/localization-manager/src/common.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ocalization-manager/src/localization-extractor.spec.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …/localization-manager/src/localization-manager.spec.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/localization-manager/src/index.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/native/win-ffmpeg.c | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/native/mac-ffmpeg.c | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/native/linux-ffmpeg.c | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/native/ffmpeg.c | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/src/hash.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/src/ffmpeg.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/src/index.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/src/check-ffmpeg.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ffmpeg/src/replace-ffmpeg.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/private-eslint-plugin/index.js | 1 | // @ts-check | COMMENT |
| LOW | dev-packages/private-eslint-plugin/util/package-json.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …kages/private-eslint-plugin/util/preload-graph.spec.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ckages/private-eslint-plugin/util/package-json.spec.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …v-packages/private-eslint-plugin/util/preload-graph.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ivate-eslint-plugin/util/preload-phase-modules.spec.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …packages/private-eslint-plugin/util/test/temp-files.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ages/private-eslint-plugin/rules/localization-check.js | 1 | // @ts-check | COMMENT |
| LOW | …ckages/private-eslint-plugin/rules/annotation-check.js | 1 | // @ts-check | COMMENT |
| LOW | …private-eslint-plugin/rules/named-logger-check.spec.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ages/private-eslint-plugin/rules/named-logger-check.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …-packages/private-eslint-plugin/rules/no-src-import.js | 1 | // @ts-check | COMMENT |
| LOW | …eslint-plugin/rules/preload-localization-check.spec.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …es/private-eslint-plugin/rules/runtime-import-check.js | 1 | // @ts-check | COMMENT |
| LOW | …vate-eslint-plugin/rules/preload-localization-check.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ges/private-eslint-plugin/rules/shared-dependencies.js | 1 | // @ts-check | COMMENT |
| LOW | dev-packages/private-test-setup/test-setup.js | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/cli/bin/theia-patch.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | dev-packages/cli/src/check-dependencies.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/cli/src/run-test.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/cli/src/download-plugins.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/cli/src/test-page.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/cli/src/theia.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/private-ext-scripts/bin/theia-ext.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | dev-packages/private-ext-scripts/bin/theia-ts-clean.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | dev-packages/private-ext-scripts/bin/theia-run.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | dev-packages/ovsx-client/src/ovsx-router-client.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/ovsx-types.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/types.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/ovsx-http-client.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/index.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/ovsx-api-filter.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/ovsx-router-client.spec.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ent/src/ovsx-router-filters/request-contains-filter.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …src/ovsx-router-filters/extension-id-matches-filter.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …-packages/ovsx-client/src/ovsx-router-filters/index.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ent/src/ovsx-router-filters/abstract-reg-exp-filter.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/ovsx-client/src/test/ovsx-mock-client.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …s/ovsx-client/src/test/ovsx-router-client.spec-data.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/application-manager/src/rebuild.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/application-manager/src/package.spec.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …es/application-manager/src/application-process.spec.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | dev-packages/application-manager/src/index.ts | 1 | // ***************************************************************************** | COMMENT |
| LOW | …ackages/application-manager/src/application-process.ts | 1 | // ***************************************************************************** | COMMENT |
| 3424 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ges/localization-manager/src/localization-extractor.ts | 232 | function extractFromLocalizedCommandCall(node: ts.Node, errors?: string[], options?: ExtractionOptions): { | CODE |
| LOW | dev-packages/private-eslint-plugin/util/package-json.js | 180 | function reportingMalformedPackageJson(context, lookup) { | CODE |
| LOW | …ivate-eslint-plugin/util/preload-phase-modules.spec.js | 66 | function emittedPreloadPhaseModules(target) { | CODE |
| LOW | …ages/private-eslint-plugin/rules/localization-check.js | 132 | function extractDefaultLocalizedProperties(objectNode) { | CODE |
| LOW | dev-packages/cli/src/check-dependencies.ts | 97 | function readWorkspaceGlobsFromPackageJson(): string[] { | CODE |
| LOW | dev-packages/cli/src/check-dependencies.ts | 193 | function findNotHoistedDependencies(packages: Package[], options: CheckDependenciesOptions): DependencyIssue[] { | CODE |
| LOW | dev-packages/cli/src/check-dependencies.ts | 202 | function createNonHoistedPackageIssue(nonHoistedPackage: Package, options: CheckDependenciesOptions): DependencyIssue { | CODE |
| LOW | dev-packages/cli/src/check-dependencies.ts | 215 | function findDuplicateDependencies(packages: Package[], options: CheckDependenciesOptions): DependencyIssue[] { | CODE |
| LOW | dev-packages/cli/src/download-plugins.ts | 183 | function resolveDownloadUrlPlaceholders(url: string): string { | CODE |
| LOW | dev-packages/cli/src/download-plugins.ts | 404 | async function collectPluginDependencies(pluginDir: string, excludedIds: Set<string>): Promise<string[]> { | CODE |
| LOW | dev-packages/ovsx-client/src/ovsx-api-filter.ts | 104 | function getLatestCompatibleVersion(predicate: (allVersions: VSXAllVersions) => boolean): VSXAllVersions | undef | CODE |
| LOW | …src/browser-only/write-browser-only-extensions-list.ts | 24 | export async function writeBrowserOnlyExtensionsList(applicationPackage: ApplicationPackage): Promise<void> { | CODE |
| LOW | …nager/src/browser-only/prepare-browser-only-plugins.ts | 60 | export async function prepareBrowserOnlyPlugins(applicationPackage: ApplicationPackage): Promise<void> { | CODE |
| LOW⚡ | …nager/src/browser-only/prepare-browser-only-plugins.ts | 247 | export function shouldIncludePluginInBrowserOnlyBuild(manifest: PluginManifest): boolean { | CODE |
| LOW⚡ | …nager/src/browser-only/prepare-browser-only-plugins.ts | 252 | function stripNonFrontendHostFields(manifest: PluginManifest): void { | CODE |
| LOW⚡ | …nager/src/browser-only/prepare-browser-only-plugins.ts | 261 | function normalizePluginPackageForBrowserOnly(manifest: PluginManifest): void { | CODE |
| LOW | …nager/src/browser-only/prepare-browser-only-plugins.ts | 273 | async function normalizeManifestForBrowserOnly(manifest: PluginManifest): Promise<NormalizedPluginContribution> { | CODE |
| LOW | …nager/src/browser-only/prepare-browser-only-plugins.ts | 345 | function rewriteModelPathsForHostedStatic(model: PluginModel, buildTimePackageRoot: string, pluginId: string): void { | CODE |
| LOW | …nager/src/browser-only/prepare-browser-only-plugins.ts | 351 | export function resolvePluginEntryFileSync(absolutePath: string): string | undefined { | CODE |
| LOW | …nager/src/browser-only/prepare-browser-only-plugins.ts | 373 | function toHostedPluginRelativePath(fileUri: string, pluginRoot: string, pluginId: string): string | undefined { | CODE |
| LOW | …-packages/private-re-exports/src/package-re-exports.ts | 53 | export function parsePackageReExportsSync(packageJsonPath: string, packageJson: PackageJson): [string, ReExport[]] { | CODE |
| LOW | …-packages/private-re-exports/src/package-re-exports.ts | 88 | export function resolveTheiaReExportsSync( | CODE |
| LOW | …browser/preferences/sample-preferences-contribution.ts | 101 | export function bindSamplePreferenceContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …s/src/browser/chat/sample-chat-command-contribution.ts | 21 | export function bindSampleChatCommandContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …c/browser/chat/sample-chat-node-toolbar-preferences.ts | 41 | export function bindSampleChatNodeToolbarPreferences(bind: interfaces.Bind): void { | CODE |
| LOW | …mples/src/browser/chat/mode-chat-agent-contribution.ts | 27 | export function bindModeChatAgentContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …ser/chat/custom-response-content-agent-contribution.ts | 35 | export function bindCustomResponseContentRendererContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …owser/chat/ask-and-continue-chat-agent-contribution.ts | 30 | export function bindAskAndContinueChatAgentContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …/browser/chat/chat-node-toolbar-action-contribution.ts | 29 | export function bindChatNodeToolbarActionContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …src/browser/chat/change-set-chat-agent-contribution.ts | 32 | export function bindChangeSetChatAgentContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …browser/chat/original-state-test-agent-contribution.ts | 31 | export function bindOriginalStateTestAgentContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …ibution-filter/sample-filtered-command-contribution.ts | 67 | export function bindSampleFilteredCommandContribution(bind: interfaces.Bind): void { | CODE |
| LOW | …itor-preferences/monaco-editor-preference-extractor.ts | 277 | export function bindMonacoPreferenceExtractor(bind: interfaces.Bind): void { | CODE |
| LOW | …browser/file-system/sample-file-system-capabilities.ts | 69 | export function bindSampleFileSystemCapabilitiesCommands(bind: interfaces.Bind): void { | CODE |
| LOW | …uration/sample-chat-toolbar-configuration-category.tsx | 101 | export function bindSampleChatToolbarConfigurationCategory(bind: interfaces.Bind): void { | CODE |
| LOW | …les/playwright/src/tests/theia-notebook-editor.test.ts | 348 | async function ensureCodeCompletionVisible(parent: Locator): Promise<void> { | CODE |
| LOW | examples/api-tests/src/task-configurations.spec.js | 66 | function setAndRetrieveTasks(scopeGenerator, scopeLabel, only = false) { | CODE |
| LOW | examples/api-tests/src/launch-preferences.spec.js | 334 | function testLaunchAndSettingsSuite({ | CODE |
| LOW | examples/api-tests/src/launch-preferences.spec.js | 435 | async function deleteWorkspacePreferences() { | CODE |
| LOW | examples/api-tests/src/launch-preferences.spec.js | 469 | function mergeLaunchConfigurations(config1, config2) { | CODE |
| LOW | scripts/compile-references.js | 50 | async function compileTypeScriptReferences() { | CODE |
| LOW | scripts/compile-references.js | 85 | async function configureTypeScriptReferences(targetPackage, expectedReferences) { | CODE |
| LOW | scripts/performance/common-performance.js | 312 | function calculateStandardDeviation(mean, array) { | CODE |
| LOW | scripts/performance/extension-impact.js | 228 | async function getExtensionsFromPackagesDir() { | CODE |
| LOW | …ckages/ai-chat-ui/src/browser/chat-view-preferences.ts | 91 | export function createChatViewPreferences(preferences: PreferenceService, schema: PreferenceSchema = chatViewPreferenceS | CODE |
| LOW | …kages/ai-chat-ui/src/browser/chat-view-contribution.ts | 167 | function extractRequestOrResponseNodes(args: unknown[]): (RequestNode | ResponseNode)[] { | CODE |
| LOW | …kages/ai-chat-ui/src/browser/chat-view-contribution.ts | 171 | function containsRequestOrResponseNode(args: unknown[]): args is (unknown | RequestNode | ResponseNode)[] { | CODE |
| LOW | …chat-ui/src/browser/chat-token-usage-indicator-util.ts | 27 | export function isAboveTokenUsageWarningThreshold(totalTokens: number, threshold: number): boolean { | CODE |
| LOW | …chat-ui/src/browser/chat-token-usage-indicator-util.ts | 103 | export function computeCumulativeTokenUsage(chatModel?: ChatModel): number { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 186 | function elementHasExternalReference(element: Element): boolean { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 209 | function collectExternalResourceUrls(element: Element): string[] { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 220 | function collectElementExternalResourceUrls(element: Element, urls: Set<string>): void { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 254 | function srcsetHasExternalReference(srcset: string): boolean { | CODE |
| LOW⚡ | …ser/chat-response-renderer/block-external-resources.ts | 274 | function shouldSplitSrcsetCandidate(candidate: string): boolean { | CODE |
| LOW⚡ | …ser/chat-response-renderer/block-external-resources.ts | 279 | function extractSrcsetCandidateUrl(candidate: string): string { | CODE |
| LOW⚡ | …ser/chat-response-renderer/block-external-resources.ts | 287 | function extractUnsafeStyleSheetUrls(element: Element): string[] { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 301 | function extractUnsafeUrlFunctionAttributeUrls(element: Element): string[] { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 320 | function removeUnsafeStyleDeclarations(element: HTMLElement): void { | CODE |
| LOW | …ser/chat-response-renderer/block-external-resources.ts | 356 | function extractUrlsFromNormalizedCss(styleValue: string): string[] { | CODE |
| LOW | …c/browser/chat-response-renderer/tool-confirmation.tsx | 132 | export function createConfirmationHandlers( | CODE |
| 326 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | packages/task/src/browser/task-service.ts | 1086 | const selectedText: string = this.editorManager.currentEditor.editor.document.getText(selectedRange).trimRight() | CODE |
| CRITICAL | …es/ai-openai/src/node/openai-chat-completion-stream.ts | 165 | const stream = await this.options.openai.chat.completions.create(body, { | CODE |
| CRITICAL | …c/browser/search-in-workspace-frontend-contribution.ts | 357 | ? this.editorManager.currentEditor.editor.document.getText(selectedRange) | CODE |
| CRITICAL | …n-workspace/src/browser/search-in-workspace-widget.tsx | 375 | this.searchRef.current.textarea.current.focus(); | CODE |
| CRITICAL | …n-workspace/src/browser/search-in-workspace-widget.tsx | 376 | this.searchRef.current.textarea.current.select(); | CODE |
| CRITICAL | …/process/src/common/shell-command-builder.slow-spec.ts | 135 | // at Microsoft.ApplicationInsights.Extensibility.Implementation.Platform.PlatformSingleton.get_Current() | COMMENT |
| CRITICAL | …/process/src/common/shell-command-builder.slow-spec.ts | 136 | // at Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory.Initialize(TelemetryC | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/ai-mcp/README.md | 66 | "BRAVE_API_KEY": "YOUR_API_KEY" | CODE |
| HIGH | packages/ai-mcp/src/common/mcp-preferences.ts | 47 | "BRAVE_API_KEY": "YOUR_API_KEY"\n\ | CODE |
| HIGH | packages/core/i18n/nls.cs.json | 1561 | "mdDescription": "Servery MCP lze konfigurovat buď lokálně pomocí příkazu, argumentů a volitelně proměnných pr | CODE |
| HIGH | packages/core/i18n/nls.json | 1561 | "mdDescription": "Configure MCP servers either local with command, arguments and optionally environment variab | CODE |
| HIGH | packages/core/i18n/nls.ko.json | 1561 | "mdDescription": "명령어, 인수 및 선택적으로 환경 변수를 사용하여 로컬 MCP 서버를 구성하거나, 서버 URL, 인증 토큰, OAuth 구성 및 선택적으로 인증 헤더 이름을 사용하여 | CODE |
| HIGH | packages/core/i18n/nls.pl.json | 1561 | "mdDescription": "Serwery MCP można skonfigurować lokalnie za pomocą polecenia, argumentów i opcjonalnie zmien | CODE |
| HIGH | packages/core/i18n/nls.ru.json | 1561 | "mdDescription": "Настройте серверы MCP либо локально с помощью команды, аргументов и, при необходимости, пере | CODE |
| HIGH | packages/core/i18n/nls.de.json | 1561 | "mdDescription": "Konfigurieren Sie MCP-Server entweder lokal mit Befehl, Argumenten und optionalen Umgebungsv | CODE |
| HIGH | packages/core/i18n/nls.it.json | 1561 | "mdDescription": "È possibile configurare i server MCP sia in locale, utilizzando comandi, argomenti e, facolt | CODE |
| HIGH | packages/core/i18n/nls.tr.json | 1561 | "mdDescription": "MCP sunucularını, komut, argümanlar ve isteğe bağlı olarak ortam değişkenleri ile yerel olar | CODE |
| HIGH | packages/core/i18n/nls.hu.json | 1561 | "mdDescription": "Az MCP-kiszolgálókat konfigurálhatja helyileg parancsokkal, argumentumokkal és opcionálisan | CODE |
| HIGH | packages/core/i18n/nls.zh-cn.json | 1561 | "mdDescription": "可通过命令、参数(可选环境变量)配置本地 MCP 服务器,或通过服务器 URL、身份验证令牌、OAuth 配置(可选身份验证标头名称)配置远程 MCP 服务器。此外,还可配置自动启动( | CODE |
| HIGH | packages/core/i18n/nls.ja.json | 1561 | "mdDescription": "MCPサーバーの設定は、コマンド、引数、および必要に応じて環境変数を使用してローカルで設定するか、サーバーURL、認証トークン、OAuth設定、および必要に応じて認証ヘッダー名を使用し | CODE |
| HIGH | packages/ai-codex/README.md | 48 | export OPENAI_API_KEY=your-api-key-here | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …i-samples/src/browser/menu/sample-menu-contribution.ts | 289 | const placeholder = new PlaceholderMenuNode([...subSubMenuPath, 'placeholder'].join('-'), 'Placeholder', '0' | CODE |
| LOW | …atgpt/src/browser/chatgpt-command-contribution.spec.ts | 144 | authService.fireAuthStateChanged({ isAuthenticated: true, accountLabel: 'user@example.com' }); | CODE |
| LOW | …atgpt/src/browser/chatgpt-command-contribution.spec.ts | 211 | authService.authState = { isAuthenticated: true, accountLabel: 'user@example.com' }; | CODE |
| LOW | …atgpt/src/browser/chatgpt-command-contribution.spec.ts | 215 | expect(infoMessages.pop()).to.contain('user@example.com'); | CODE |
| LOW | …pt/src/browser/chatgpt-status-bar-contribution.spec.ts | 98 | authEmitter.fire({ isAuthenticated: true, accountLabel: 'user@example.com' }); | CODE |
| LOW | …pt/src/browser/chatgpt-status-bar-contribution.spec.ts | 119 | authEmitter.fire({ isAuthenticated: true, accountLabel: 'user@example.com' }); | CODE |
| LOW | …wser/chatgpt-frontend-application-contribution.spec.ts | 269 | setAuthState({ isAuthenticated: true, accountLabel: 'user@example.com' }); | CODE |
| LOW | packages/ai-chatgpt/src/node/chatgpt-oauth.spec.ts | 102 | 'https://api.openai.com/profile': { email: 'user@example.com' } | CODE |
| LOW | packages/ai-chatgpt/src/node/chatgpt-oauth.spec.ts | 106 | expect(identity.email).to.equal('user@example.com'); | CODE |
| LOW | …/src/node/chatgpt-language-models-manager-impl.spec.ts | 104 | authState = { isAuthenticated: true, accountLabel: 'user@example.com' }; | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 62 | 'https://api.openai.com/profile': { email: 'user@example.com' } | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 82 | accountLabel: 'user@example.com', | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 270 | expect(await authService.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example. | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 327 | expect(states).to.deep.equal([{ isAuthenticated: true, accountLabel: 'user@example.com', planType: 'plus' }] | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 397 | ? { isAuthenticated: true, accountLabel: 'user@example.com', planType: 'plus' } | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 500 | expect(await reading).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example.com', planType: 'pl | CODE |
| LOW⚡ | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 612 | expect(await authService.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example. | CODE |
| LOW⚡ | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 621 | expect(await authService.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example. | CODE |
| LOW⚡ | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 630 | expect(await authService.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example. | CODE |
| LOW⚡ | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 638 | expect(JSON.parse(setPasswordStub.firstCall.args[2])).to.include({ accountId: 'account-id', accountLabel: 'u | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 675 | expect(await authService.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example. | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 720 | expect(await authService.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example. | CODE |
| LOW | …/ai-chatgpt/src/node/chatgpt-auth-service-impl.spec.ts | 846 | expect(await remote.getAuthState()).to.deep.equal({ isAuthenticated: true, accountLabel: 'user@example.com', | CODE |
| LOW | packages/core/i18n/nls.cs.json | 1043 | "placeholder": "Vyberte, kam chcete vytvořit soubor agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.cs.json | 1886 | "placeholder": "Zadejte text pro filtrování příkazů", | CODE |
| LOW | packages/core/i18n/nls.zh-tw.json | 1043 | "placeholder": "選擇要建立 agents/<id>/agent.md 檔案的位置", | CODE |
| LOW | packages/core/i18n/nls.zh-tw.json | 1886 | "placeholder": "輸入文字以篩選指令", | CODE |
| LOW | packages/core/i18n/nls.pt-br.json | 1043 | "placeholder": "Escolha onde criar o arquivo agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.pt-br.json | 1886 | "placeholder": "Digite para filtrar comandos", | CODE |
| LOW | packages/core/i18n/nls.json | 1043 | "placeholder": "Choose where to create the agents/<id>/agent.md file", | CODE |
| LOW | packages/core/i18n/nls.json | 1886 | "placeholder": "Type to filter commands", | CODE |
| LOW | packages/core/i18n/nls.es.json | 1043 | "placeholder": "Elige dónde crear el archivo agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.es.json | 1886 | "placeholder": "Escriba para filtrar comandos", | CODE |
| LOW | packages/core/i18n/nls.fr.json | 1043 | "placeholder": "Choisissez l'emplacement où créer le fichier agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.fr.json | 1886 | "placeholder": "Tapez pour filtrer les commandes", | CODE |
| LOW | packages/core/i18n/nls.ko.json | 1043 | "placeholder": "agents/<id>/agent.md 파일을 생성할 위치를 선택하세요", | CODE |
| LOW | packages/core/i18n/nls.ko.json | 1886 | "placeholder": "명령어를 입력하여 필터링하세요", | CODE |
| LOW | packages/core/i18n/nls.pl.json | 1043 | "placeholder": "Wybierz miejsce, w którym chcesz utworzyć plik agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.pl.json | 1886 | "placeholder": "Wpisz, aby filtrować polecenia", | CODE |
| LOW | packages/core/i18n/nls.ru.json | 1043 | "placeholder": "Выберите, где создать файл agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.ru.json | 1886 | "placeholder": "Введите текст для фильтрации команд", | CODE |
| LOW | packages/core/i18n/nls.de.json | 1043 | "placeholder": "Wählen Sie aus, wo die Datei „agents/<id>/agent.md“ erstellt werden soll", | CODE |
| LOW | packages/core/i18n/nls.de.json | 1886 | "placeholder": "Eingabe zum Filtern von Befehlen", | CODE |
| LOW | packages/core/i18n/nls.it.json | 1043 | "placeholder": "Scegli dove creare il file agents/<id>/agent.md", | CODE |
| LOW | packages/core/i18n/nls.it.json | 1886 | "placeholder": "Digita per filtrare i comandi", | CODE |
| LOW | packages/core/i18n/nls.tr.json | 1043 | "placeholder": "agents/<id>/agent.md dosyasının oluşturulacağı konumu seçin", | CODE |
| LOW | packages/core/i18n/nls.tr.json | 1886 | "placeholder": "Komutları filtrelemek için yazın", | CODE |
| LOW | packages/core/i18n/nls.hu.json | 1043 | "placeholder": "Válassza ki, hová szeretné létrehozni az agents/<id>/agent.md fájlt", | CODE |
| LOW | packages/core/i18n/nls.hu.json | 1886 | "placeholder": "Írja be a szűrni kívánt parancsokat", | CODE |
| LOW | packages/core/i18n/nls.zh-cn.json | 1043 | "placeholder": "选择创建 agents/<id>/agent.md 文件的位置", | CODE |
| LOW | packages/core/i18n/nls.zh-cn.json | 1886 | "placeholder": "输入内容以筛选命令", | CODE |
| LOW | packages/core/i18n/nls.ja.json | 1043 | "placeholder": "agents/<id>/agent.md ファイルを作成する場所を選択してください", | CODE |
| LOW | packages/core/i18n/nls.ja.json | 1886 | "placeholder": "コマンドをフィルタリングするには入力してください", | CODE |
| LOW | packages/core/src/node/key-store-server.spec.ts | 91 | await keyStoreService.setPassword('test-service', 'user@example.com', 'password1'); | CODE |
| LOW | packages/core/src/node/key-store-server.spec.ts | 96 | expect(result).to.include.members(['user@example.com', 'user-name_123']); | CODE |
| LOW⚡ | …ages/scm/src/browser/scm-history-graph-tooltip.spec.ts | 62 | const tooltip = buildHtmlTooltip(makeEntry({ author: 'Jane Doe', authorEmail: 'jane@example.com', timestamp: 100 | CODE |
| LOW⚡ | …ages/scm/src/browser/scm-history-graph-tooltip.spec.ts | 65 | expect(link!.textContent).to.contain('Jane Doe'); | CODE |
| LOW⚡ | …ages/scm/src/browser/scm-history-graph-tooltip.spec.ts | 70 | const tooltip = buildHtmlTooltip(makeEntry({ author: 'Jane Doe', timestamp: 1000 }), markdownRenderer); | CODE |
| LOW⚡ | …ages/scm/src/browser/scm-history-graph-tooltip.spec.ts | 74 | expect(strong!.textContent).to.equal('Jane Doe'); | CODE |
| LOW⚡ | …ages/scm/src/browser/scm-history-graph-tooltip.spec.ts | 78 | const tooltip = buildHtmlTooltip(makeEntry({ author: 'Jane Doe', authorIcon: 'https://avatars.example.com/u/1' } | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 96 | // ── (A) Exact-match dedup ────────────────────────────────────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 216 | // ── (B) Parent subsumption of new child ──────────────────────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 285 | // ── (D) New recursive parent subsumes existing children ──────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 405 | // ── Disposal and promotion ───────────────────────────────────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 528 | // ── Exclude pattern matching ─────────────────────────────────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 580 | // ── Edge cases ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 809 | // ── files.watcherExclude applied to every watcher (#17247, #10794) ────────── | COMMENT |
| MEDIUM | …es/filesystem/src/browser/file-service-watcher.spec.ts | 809 | // ── files.watcherExclude applied to every watcher (#17247, #10794) ────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.ts | 94 | // ── Initialization ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.ts | 104 | // ── Multi-root workspace structure ────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.ts | 210 | // ── Path resolution ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.ts | 323 | // ── Access control ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.ts | 425 | // ── External path support ─────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.ts | 557 | // ── Gitignore / exclusion ─────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.spec.ts | 1182 | // ── HEAD: External allowed paths tests ────────────────────────────────────── | COMMENT |
| MEDIUM | packages/ai-ide/src/browser/workspace-functions.spec.ts | 1844 | // ── Branch: Multi-root workspace tests ────────────────────────────────────── | COMMENT |
| MEDIUM | packages/scm/src/browser/scm-history-graph-widget.tsx | 56 | // ── Layout constants ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/scm/src/browser/scm-history-graph-widget.tsx | 100 | // ── Widget ────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/browser/output/sample-output-channel-with-severity.ts | 72 | // Step 1: Show Channel A so it becomes the selected channel | COMMENT |
| LOW⚡ | …/browser/output/sample-output-channel-with-severity.ts | 78 | // Step 2: Close the Output widget after a short delay | COMMENT |
| LOW⚡ | …/browser/output/sample-output-channel-with-severity.ts | 86 | // Step 3: After another delay, show Channel B. | COMMENT |
| LOW | …/src/browser/address-pr-review-command-contribution.ts | 64 | ## Step 1: Retrieve Pull Request Information | COMMENT |
| LOW | …/src/browser/address-pr-review-command-contribution.ts | 90 | ## Step 2: Analyze and Categorize Review Comments | COMMENT |
| LOW | …/src/browser/address-pr-review-command-contribution.ts | 115 | ## Step 3: Respond Based on Analysis | COMMENT |
| LOW | …rc/browser/implement-gh-ticket-command-contribution.ts | 63 | ## Step 1: Retrieve Ticket Information | COMMENT |
| LOW | …rc/browser/implement-gh-ticket-command-contribution.ts | 86 | ## Step 2: Analyze AI Solvability | COMMENT |
| LOW | …rc/browser/implement-gh-ticket-command-contribution.ts | 103 | ## Step 3: Respond Based on Analysis | COMMENT |
| LOW | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 114 | ### Step 1: Discover URL | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 129 | ### Step 2: Navigate | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 134 | ### Step 3: Test | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 137 | ### Step 4: Report | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 140 | ### Step 5: Cleanup | COMMENT |
| LOW | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 304 | ## Step 1: Discover URL & Verify Preconditions | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 320 | ## Step 2: Navigate | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 328 | ## Step 3: Test | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 363 | ## Step 4: Report | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 371 | ## Step 5: Cleanup | COMMENT |
| LOW | …ckages/ai-ide/src/browser/architect-prompt-template.ts | 130 | ### Step 1: [Description] | COMMENT |
| LOW | …ckages/ai-ide/src/browser/architect-prompt-template.ts | 134 | ### Step 2: [Description] | COMMENT |
| LOW | …ckages/ai-ide/src/browser/architect-prompt-template.ts | 414 | ### Step 1: [Description] | COMMENT |
| LOW | …ckages/ai-ide/src/browser/architect-prompt-template.ts | 418 | ### Step 2: [Description] | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 65 | ## Step 1: Retrieve Ticket Information | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 88 | ## Step 2: Analyze AI Solvability | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 105 | ## Step 3: Respond Based on Analysis | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 154 | #### Step 1: [First step] | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 158 | #### Step 2: [Second step] | COMMENT |
| LOW | …browser/notebooks/renderers/output-webview-internal.ts | 708 | // so we need to check if the difference is less than some threshold | COMMENT |
| LOW | packages/monaco/src/browser/monaco-formatter-service.ts | 147 | * so we need to check if we're in a multi-root workspace. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/browser/output/sample-output-channel-with-severity.ts | 72 | // Step 1: Show Channel A so it becomes the selected channel | COMMENT |
| LOW⚡ | …/browser/output/sample-output-channel-with-severity.ts | 78 | // Step 2: Close the Output widget after a short delay | COMMENT |
| LOW⚡ | …/browser/output/sample-output-channel-with-severity.ts | 86 | // Step 3: After another delay, show Channel B. | COMMENT |
| LOW | …/src/browser/address-pr-review-command-contribution.ts | 64 | ## Step 1: Retrieve Pull Request Information | COMMENT |
| LOW | …/src/browser/address-pr-review-command-contribution.ts | 90 | ## Step 2: Analyze and Categorize Review Comments | COMMENT |
| LOW | …/src/browser/address-pr-review-command-contribution.ts | 115 | ## Step 3: Respond Based on Analysis | COMMENT |
| LOW | …rc/browser/implement-gh-ticket-command-contribution.ts | 63 | ## Step 1: Retrieve Ticket Information | COMMENT |
| LOW | …rc/browser/implement-gh-ticket-command-contribution.ts | 86 | ## Step 2: Analyze AI Solvability | COMMENT |
| LOW | …rc/browser/implement-gh-ticket-command-contribution.ts | 103 | ## Step 3: Respond Based on Analysis | COMMENT |
| LOW | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 114 | ### Step 1: Discover URL | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 129 | ### Step 2: Navigate | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 134 | ### Step 3: Test | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 137 | ### Step 4: Report | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 140 | ### Step 5: Cleanup | COMMENT |
| LOW | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 304 | ## Step 1: Discover URL & Verify Preconditions | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 320 | ## Step 2: Navigate | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 328 | ## Step 3: Test | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 363 | ## Step 4: Report | COMMENT |
| LOW⚡ | …kages/ai-ide/src/browser/app-tester-prompt-template.ts | 371 | ## Step 5: Cleanup | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 65 | ## Step 1: Retrieve Ticket Information | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 88 | ## Step 2: Analyze AI Solvability | COMMENT |
| LOW | …/src/browser/analyze-gh-ticket-command-contribution.ts | 105 | ## Step 3: Respond Based on Analysis | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …les/playwright/src/tests/theia-notebook-editor.test.ts | 141 | print("Line-1") | CODE |
| HIGH⚡ | …les/playwright/src/tests/theia-notebook-editor.test.ts | 142 | print("Line-2") | CODE |
| HIGH⚡ | …les/playwright/src/tests/theia-notebook-editor.test.ts | 148 | print("Line-1") | CODE |
| HIGH | …src/electron-node/setup/remote-setup-script-service.ts | 79 | elif [ "$(command -v curl)" ]; then | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/core/src/browser/widget-manager.ts | 31 | * ### Example usage | COMMENT |
| LOW | packages/core/src/browser/tree/tree-decorator.ts | 28 | * ### Example usage | COMMENT |
| LOW | packages/core/src/browser/tree/tree-decorator.ts | 86 | * ### Example usage | COMMENT |
| LOW | packages/core/src/common/message-service.ts | 35 | * ### Example usage | COMMENT |
| LOW | packages/core/src/common/message-service.ts | 163 | * ### Example usage | COMMENT |
| LOW | …ckages/core/src/common/preferences/preference-proxy.ts | 111 | * ### Example usage | COMMENT |
| LOW | …kages/core/src/common/preferences/preference-schema.ts | 31 | * ### Example usage | COMMENT |
| LOW | …kages/core/src/common/preferences/preference-schema.ts | 181 | * #### Example usage | COMMENT |
| LOW | packages/core/src/common/menu/menu-model-registry.ts | 34 | * ### Example usage | COMMENT |
| LOW | packages/filesystem/src/browser/file-service.ts | 187 | * ### Example usage | COMMENT |
| LOW | packages/task/src/browser/task-contribution.ts | 28 | * ### Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/ai-mcp/src/browser/mcp-server-install-dialog.spec.ts | 33 | // is robust to other specs in the package toggling the shared JSDOM globals. | COMMENT |
| MEDIUM | packages/filesystem/src/browser/file-service.ts | 1190 | // same provider with fast copy: leverage copy() functionality | COMMENT |
| MEDIUM | packages/filesystem/src/browser/file-service.ts | 1212 | // same provider: leverage rename() functionality | COMMENT |
| MEDIUM | packages/editor/src/browser/editor-manager.ts | 231 | // Definitely creating a new tabbar - no widget can match. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ode/shell-integrations/bash/command-block-support.bash | 122 | # This function is executed in a DEBUG trap, so it can be called multiple times when command is started. | COMMENT |
| MEDIUM | .github/workflows/publish-ci.yml | 181 | # Create a new branch for the PR | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …es/src/browser/mcp/sample-frontend-mcp-contribution.ts | 105 | // Return dummy content for demonstration purposes | COMMENT |
| LOW | packages/core/src/common/observable/observable.spec.ts | 268 | // Don't forget to dispose the disposable returned by keepObserved! | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/ai-chat/src/browser/agent-delegation-tool.ts | 157 | // warn, not error: a stale session id is expected in a normal agentic loop (e.g. the user deleted t | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ode/shell-integrations/zsh/zdotdir/source-original.zsh | 54 | # Set back to the Theia location to continue injecting Theia shell integration. | COMMENT |