Skip to main content
Glama
nrwl

Nx MCP Server

Official
by nrwl
ai-fix-status-bar-service.ts2.12 kB
import { CIPEInfo, CIPERunGroup } from '@nx-console/shared-types'; import { StatusBarAlignment, StatusBarItem, window } from 'vscode'; import { Disposable } from 'vscode-languageserver'; import { getAIFixMessage } from './cipe-notification-service'; let __instance: AiFixStatusBarService | undefined = undefined; export function getAiFixStatusBarService(): AiFixStatusBarService { if (!__instance) { __instance = new AiFixStatusBarService(); } return __instance; } export class AiFixStatusBarService implements Disposable { private aiFixStatusBarItem: StatusBarItem | undefined; public dispose() { if (this.aiFixStatusBarItem) { this.aiFixStatusBarItem.dispose(); this.aiFixStatusBarItem = undefined; } } public hideAiFixStatusBarItem() { if (this.aiFixStatusBarItem) { this.aiFixStatusBarItem.hide(); } } public updateAiFixStatusBar(cipeData: CIPEInfo[]) { let foundFix: { cipe: CIPEInfo; runGroup: CIPERunGroup } | null = null; for (const cipe of cipeData) { for (const runGroup of cipe.runGroups || []) { if ( runGroup.aiFix?.suggestedFix && runGroup.aiFix.userAction === 'NONE' ) { foundFix = { cipe, runGroup }; break; } } if (foundFix) break; } if (foundFix) { if (!this.aiFixStatusBarItem) { this.aiFixStatusBarItem = window.createStatusBarItem( StatusBarAlignment.Left, 100, ); } const message = getAIFixMessage(foundFix.cipe.branch); this.aiFixStatusBarItem.text = `$(wrench) Nx Cloud AI Fix`; this.aiFixStatusBarItem.tooltip = message; this.aiFixStatusBarItem.command = { command: 'nxCloud.openFixDetails', title: 'Show Error Details', arguments: [ { cipeId: foundFix.cipe.ciPipelineExecutionId, runGroupId: foundFix.runGroup.runGroup, }, ], }; this.aiFixStatusBarItem.show(); } else { // Hide status bar if no fixes available this.hideAiFixStatusBarItem(); } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nrwl/nx-console'

If you have feedback or need assistance with the MCP directory API, please join our Discord server