From 77b2c029e9f57f6972382db6dac82cb278faa128 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 16 May 2025 05:48:03 +0000 Subject: [PATCH 1/2] Pre-release 0.34.118 --- Copilot for Xcode/App.swift | 19 ++- Core/Sources/ChatService/ChatService.swift | 21 ++- Core/Sources/ConversationTab/Chat.swift | 2 +- Core/Sources/ConversationTab/ChatPanel.swift | 2 +- .../ConversationTab/ContextUtils.swift | 6 +- .../ConversationTab/ConversationTab.swift | 4 +- Core/Sources/HostApp/MCPConfigView.swift | 37 ++-- .../HostApp/MCPSettings/MCPIntroView.swift | 7 +- .../MCPSettings/MCPServerToolsSection.swift | 160 ++++++++++++------ .../HostApp/MCPSettings/MCPToolRowView.swift | 3 +- Server/package-lock.json | 8 +- Server/package.json | 2 +- TestPlan.xctestplan | 7 + Tool/Package.swift | 9 +- ...ExtensionConversationServiceProvider.swift | 29 ++-- .../ConversationServiceProvider.swift | 10 +- .../CopilotMCPToolManager.swift | 16 -- .../LanguageServer/GitHubCopilotService.swift | 135 +++++++++------ Tool/Sources/Preferences/Keys.swift | 4 + Tool/Sources/SystemUtils/SystemUtils.swift | 52 ++++++ Tool/Sources/Terminal/TerminalSession.swift | 34 +--- Tool/Sources/Workspace/WorkspaceFile.swift | 10 ++ .../SystemUtilsTests/SystemUtilsTests.swift | 55 +++++- 23 files changed, 422 insertions(+), 210 deletions(-) diff --git a/Copilot for Xcode/App.swift b/Copilot for Xcode/App.swift index 6a5c9516..d8ed3cdd 100644 --- a/Copilot for Xcode/App.swift +++ b/Copilot for Xcode/App.swift @@ -6,6 +6,7 @@ import SharedUIComponents import UpdateChecker import XPCShared import HostAppActivator +import ComposableArchitecture struct VisualEffect: NSViewRepresentable { func makeNSView(context: Self.Context) -> NSView { return NSVisualEffectView() } @@ -192,14 +193,16 @@ struct CopilotForXcodeApp: App { } var body: some Scene { - Settings { - TabContainer() - .frame(minWidth: 800, minHeight: 600) - .background(VisualEffect().ignoresSafeArea()) - .environment(\.updateChecker, UpdateChecker( - hostBundle: Bundle.main, - checkerDelegate: AppUpdateCheckerDelegate() - )) + WithPerceptionTracking { + Settings { + TabContainer() + .frame(minWidth: 800, minHeight: 600) + .background(VisualEffect().ignoresSafeArea()) + .environment(\.updateChecker, UpdateChecker( + hostBundle: Bundle.main, + checkerDelegate: AppUpdateCheckerDelegate() + )) + } } } } diff --git a/Core/Sources/ChatService/ChatService.swift b/Core/Sources/ChatService/ChatService.swift index 5d483a75..8cad9e5b 100644 --- a/Core/Sources/ChatService/ChatService.swift +++ b/Core/Sources/ChatService/ChatService.swift @@ -379,7 +379,7 @@ public final class ChatService: ChatServiceType, ObservableObject { public func stopReceivingMessage() async { if let activeRequestId = activeRequestId { do { - try await conversationProvider?.stopReceivingMessage(activeRequestId) + try await conversationProvider?.stopReceivingMessage(activeRequestId, workspaceURL: getWorkspaceURL()) } catch { print("Failed to cancel ongoing request with WDT: \(activeRequestId)") } @@ -393,7 +393,7 @@ public final class ChatService: ChatServiceType, ObservableObject { await memory.clearHistory() if let activeRequestId = activeRequestId { do { - try await conversationProvider?.stopReceivingMessage(activeRequestId) + try await conversationProvider?.stopReceivingMessage(activeRequestId, workspaceURL: getWorkspaceURL()) } catch { print("Failed to cancel ongoing request with WDT: \(activeRequestId)") } @@ -491,13 +491,20 @@ public final class ChatService: ChatServiceType, ObservableObject { try await send(UUID().uuidString, content: templateProcessor.process(sendingMessageImmediately), skillSet: [], references: []) } } - + + public func getWorkspaceURL() -> URL? { + guard !chatTabInfo.workspacePath.isEmpty else { + return nil + } + return URL(fileURLWithPath: chatTabInfo.workspacePath) + } + public func upvote(_ id: String, _ rating: ConversationRating) async { - try? await conversationProvider?.rateConversation(turnId: id, rating: rating) + try? await conversationProvider?.rateConversation(turnId: id, rating: rating, workspaceURL: getWorkspaceURL()) } public func downvote(_ id: String, _ rating: ConversationRating) async { - try? await conversationProvider?.rateConversation(turnId: id, rating: rating) + try? await conversationProvider?.rateConversation(turnId: id, rating: rating, workspaceURL: getWorkspaceURL()) } public func copyCode(_ id: String) async { @@ -725,7 +732,7 @@ public final class ChatService: ChatServiceType, ObservableObject { do { if let conversationId = conversationId { - try await conversationProvider?.createTurn(with: conversationId, request: request) + try await conversationProvider?.createTurn(with: conversationId, request: request, workspaceURL: getWorkspaceURL()) } else { var requestWithTurns = request @@ -738,7 +745,7 @@ public final class ChatService: ChatServiceType, ObservableObject { requestWithTurns.turns = turns } - try await conversationProvider?.createConversation(requestWithTurns) + try await conversationProvider?.createConversation(requestWithTurns, workspaceURL: getWorkspaceURL()) } } catch { resetOngoingRequest() diff --git a/Core/Sources/ConversationTab/Chat.swift b/Core/Sources/ConversationTab/Chat.swift index 2ca29c96..51ee178d 100644 --- a/Core/Sources/ConversationTab/Chat.swift +++ b/Core/Sources/ConversationTab/Chat.swift @@ -66,6 +66,7 @@ struct Chat { var fileEditMap: OrderedDictionary = [:] var diffViewerController: DiffViewWindowController? = nil var isAgentMode: Bool = AppState.shared.isAgentModeEnabled() + var workspaceURL: URL? = nil enum Field: String, Hashable { case textField case fileSearchBar @@ -564,4 +565,3 @@ private actor TimedDebounceFunction { await block() } } - diff --git a/Core/Sources/ConversationTab/ChatPanel.swift b/Core/Sources/ConversationTab/ChatPanel.swift index f164d760..1ce5ecde 100644 --- a/Core/Sources/ConversationTab/ChatPanel.swift +++ b/Core/Sources/ConversationTab/ChatPanel.swift @@ -488,7 +488,7 @@ struct ChatPanelInputArea: View { } ) .onAppear() { - allFiles = ContextUtils.getFilesInActiveWorkspace() + allFiles = ContextUtils.getFilesInActiveWorkspace(workspaceURL: chat.workspaceURL) } } diff --git a/Core/Sources/ConversationTab/ContextUtils.swift b/Core/Sources/ConversationTab/ContextUtils.swift index 84517df2..51cab9bf 100644 --- a/Core/Sources/ConversationTab/ContextUtils.swift +++ b/Core/Sources/ConversationTab/ContextUtils.swift @@ -6,7 +6,11 @@ import Workspace public struct ContextUtils { - public static func getFilesInActiveWorkspace() -> [FileReference] { + public static func getFilesInActiveWorkspace(workspaceURL: URL?) -> [FileReference] { + if let workspaceURL = workspaceURL, let info = WorkspaceFile.getWorkspaceInfo(workspaceURL: workspaceURL) { + return WorkspaceFile.getFilesInActiveWorkspace(workspaceURL: info.workspaceURL, workspaceRootURL: info.projectURL) + } + guard let workspaceURL = XcodeInspector.shared.realtimeActiveWorkspaceURL, let workspaceRootURL = XcodeInspector.shared.realtimeActiveProjectURL else { return [] diff --git a/Core/Sources/ConversationTab/ConversationTab.swift b/Core/Sources/ConversationTab/ConversationTab.swift index 5d6d5014..54a5b621 100644 --- a/Core/Sources/ConversationTab/ConversationTab.swift +++ b/Core/Sources/ConversationTab/ConversationTab.swift @@ -114,7 +114,7 @@ public class ConversationTab: ChatTab { let service = ChatService.service(for: info) self.service = service - chat = .init(initialState: .init(), reducer: { Chat(service: service) }) + chat = .init(initialState: .init(workspaceURL: service.getWorkspaceURL()), reducer: { Chat(service: service) }) super.init(store: store) // Start to observe changes of Chat Message @@ -128,7 +128,7 @@ public class ConversationTab: ChatTab { @MainActor public init(service: ChatService, store: StoreOf, with chatTabInfo: ChatTabInfo) { self.service = service - chat = .init(initialState: .init(), reducer: { Chat(service: service) }) + chat = .init(initialState: .init(workspaceURL: service.getWorkspaceURL()), reducer: { Chat(service: service) }) super.init(store: store) } diff --git a/Core/Sources/HostApp/MCPConfigView.swift b/Core/Sources/HostApp/MCPConfigView.swift index b151a9c6..3f72daf7 100644 --- a/Core/Sources/HostApp/MCPConfigView.swift +++ b/Core/Sources/HostApp/MCPConfigView.swift @@ -6,6 +6,7 @@ import SwiftUI import Toast import ConversationServiceProvider import GitHubCopilotService +import ComposableArchitecture struct MCPConfigView: View { @State private var mcpConfig: String = "" @@ -16,20 +17,24 @@ struct MCPConfigView: View { @State private var fileMonitorTask: Task? = nil @Environment(\.colorScheme) var colorScheme + private static var lastSyncTimestamp: Date? = nil + var body: some View { - ScrollView { - VStack(alignment: .leading, spacing: 8) { - MCPIntroView() - MCPToolsListView() - } - .padding(20) - .onAppear { - setupConfigFilePath() - startMonitoringConfigFile() - refreshConfiguration(()) - } - .onDisappear { - stopMonitoringConfigFile() + WithPerceptionTracking { + ScrollView { + VStack(alignment: .leading, spacing: 8) { + MCPIntroView() + MCPToolsListView() + } + .padding(20) + .onAppear { + setupConfigFilePath() + startMonitoringConfigFile() + refreshConfiguration(()) + } + .onDisappear { + stopMonitoringConfigFile() + } } } } @@ -145,6 +150,12 @@ struct MCPConfigView: View { } func refreshConfiguration(_: Any) { + if MCPConfigView.lastSyncTimestamp == lastModificationDate { + return + } + + MCPConfigView.lastSyncTimestamp = lastModificationDate + let fileURL = URL(fileURLWithPath: configFilePath) if let jsonString = readAndValidateJSON(from: fileURL) { UserDefaults.shared.set(jsonString, for: \.gitHubCopilotMCPConfig) diff --git a/Core/Sources/HostApp/MCPSettings/MCPIntroView.swift b/Core/Sources/HostApp/MCPSettings/MCPIntroView.swift index 3a0c6cab..98327a96 100644 --- a/Core/Sources/HostApp/MCPSettings/MCPIntroView.swift +++ b/Core/Sources/HostApp/MCPSettings/MCPIntroView.swift @@ -13,7 +13,10 @@ struct MCPIntroView: View { "my-mcp-server": { "type": "stdio", "command": "my-command", - "args": [] + "args": [], + "env": { + "TOKEN": "my_token" + } } } } @@ -75,7 +78,7 @@ struct MCPIntroView: View { .overlay( RoundedRectangle(cornerRadius: 4) .inset(by: 0.5) - .stroke(Color(red: 0.9, green: 0.9, blue: 0.9), lineWidth: 1) + .stroke(Color("GroupBoxStrokeColor"), lineWidth: 1) ) } diff --git a/Core/Sources/HostApp/MCPSettings/MCPServerToolsSection.swift b/Core/Sources/HostApp/MCPSettings/MCPServerToolsSection.swift index 04c591da..5464a6f3 100644 --- a/Core/Sources/HostApp/MCPSettings/MCPServerToolsSection.swift +++ b/Core/Sources/HostApp/MCPSettings/MCPServerToolsSection.swift @@ -1,6 +1,8 @@ import SwiftUI import Persist import GitHubCopilotService +import Client +import Logger /// Section for a single server's tools struct MCPServerToolsSection: View { @@ -10,6 +12,54 @@ struct MCPServerToolsSection: View { @State private var toolEnabledStates: [String: Bool] = [:] @State private var isExpanded: Bool = true private var originalServerName: String { serverTools.name } + + private var serverToggleLabel: some View { + HStack(spacing: 8) { + Text("MCP Server: \(serverTools.name)").fontWeight(.medium) + if serverTools.status == .error { + if hasUnsupportedServerType() { + Badge(text: getUnsupportedServerTypeMessage(), level: .danger, icon: "xmark.circle.fill") + } else { + let message = extractErrorMessage(serverTools.error?.description ?? "") + Badge(text: message, level: .danger, icon: "xmark.circle.fill") + } + } + Spacer() + } + } + + private var serverToggle: some View { + Toggle(isOn: Binding( + get: { isServerEnabled }, + set: { updateAllToolsStatus(enabled: $0) } + )) { + serverToggleLabel + } + .toggleStyle(.checkbox) + .padding(.leading, 4) + .disabled(serverTools.status == .error) + } + + private var divider: some View { + Divider() + .padding(.leading, 36) + .padding(.top, 2) + .padding(.bottom, 4) + } + + private var toolsList: some View { + VStack(spacing: 0) { + divider + ForEach(serverTools.tools, id: \.name) { tool in + MCPToolRow( + tool: tool, + isServerEnabled: isServerEnabled, + isToolEnabled: toolBindingFor(tool), + onToolToggleChanged: { handleToolToggleChange(tool: tool, isEnabled: $0) } + ) + } + } + } // Function to check if the MCP config contains unsupported server types private func hasUnsupportedServerType() -> Bool { @@ -37,61 +87,36 @@ struct MCPServerToolsSection: View { } var body: some View { - VStack(spacing: 0) { - DisclosureGroup(isExpanded: $isExpanded) { + VStack(alignment: .leading, spacing: 0) { + // Conditional view rendering based on error state + if serverTools.status == .error { + // No disclosure group for error state VStack(spacing: 0) { - Divider() - .padding(.leading, 32) - .padding(.top, 2) - .padding(.bottom, 4) - ForEach(serverTools.tools, id: \.name) { tool in - MCPToolRow( - tool: tool, - isServerEnabled: isServerEnabled, - isToolEnabled: toolBindingFor(tool), - onToolToggleChanged: { handleToolToggleChange(tool: tool, isEnabled: $0) } - ) - } + serverToggle.padding(.leading, 12) + divider.padding(.top, 4) } - } label: { - // Server name with checkbox - Toggle(isOn: Binding( - get: { isServerEnabled }, - set: { updateAllToolsStatus(enabled: $0) } - )) { - HStack(spacing: 8) { - Text("MCP Server: \(serverTools.name)").fontWeight(.medium) - if serverTools.status == .error { - if hasUnsupportedServerType() { - Badge(text: getUnsupportedServerTypeMessage(), level: .danger, icon: "xmark.circle.fill") - } else { - let message = extractErrorMessage(serverTools.error?.description ?? "") - Badge(text: message, level: .danger, icon: "xmark.circle.fill") - } - } - } + } else { + // Regular DisclosureGroup for non-error state + DisclosureGroup(isExpanded: $isExpanded) { + toolsList + } label: { + serverToggle } - .toggleStyle(.checkbox) - .padding(.leading, 4) - .disabled(serverTools.status == .error) - } - .onAppear { - initializeToolStates() - if forceExpand { - isExpanded = true + .onAppear { + initializeToolStates() + if forceExpand { + isExpanded = true + } } - } - .onChange(of: forceExpand) { newForceExpand in - if newForceExpand { - isExpanded = true + .onChange(of: forceExpand) { newForceExpand in + if newForceExpand { + isExpanded = true + } } - } - if !isExpanded { - Divider() - .padding(.leading, 32) - .padding(.top, 2) - .padding(.bottom, 4) + if !isExpanded { + divider + } } } } @@ -158,8 +183,7 @@ struct MCPServerToolsSection: View { tools: [UpdatedMCPToolsStatus(name: tool.name, status: isEnabled ? .enabled : .disabled)] ) - AppState.shared.updateMCPToolsStatus([serverUpdate]) - CopilotMCPToolManager.updateMCPToolsStatus([serverUpdate]) + updateMCPStatus([serverUpdate]) } private func updateAllToolsStatus(enabled: Bool) { @@ -182,7 +206,37 @@ struct MCPServerToolsSection: View { } ) - AppState.shared.updateMCPToolsStatus([serverUpdate]) - CopilotMCPToolManager.updateMCPToolsStatus([serverUpdate]) + updateMCPStatus([serverUpdate]) + } + + private func updateMCPStatus(_ serverUpdates: [UpdateMCPToolsStatusServerCollection]) { + // Update status in AppState and CopilotMCPToolManager + AppState.shared.updateMCPToolsStatus(serverUpdates) + + // Encode and save status to UserDefaults + let encoder = JSONEncoder() + if let jsonData = try? encoder.encode(serverUpdates), + let jsonString = String(data: jsonData, encoding: .utf8) + { + UserDefaults.shared.set(jsonString, for: \.gitHubCopilotMCPUpdatedStatus) + } + + // In-process update + NotificationCenter.default.post( + name: .gitHubCopilotShouldUpdateMCPToolsStatus, + object: nil + ) + + Task { + do { + let service = try getService() + try await service.postNotification( + name: Notification.Name + .gitHubCopilotShouldUpdateMCPToolsStatus.rawValue + ) + } catch { + Logger.client.error("Failed to post MCP status update notification: \(error.localizedDescription)") + } + } } } diff --git a/Core/Sources/HostApp/MCPSettings/MCPToolRowView.swift b/Core/Sources/HostApp/MCPSettings/MCPToolRowView.swift index 21dd6b87..f6a8e20f 100644 --- a/Core/Sources/HostApp/MCPSettings/MCPToolRowView.swift +++ b/Core/Sources/HostApp/MCPSettings/MCPToolRowView.swift @@ -23,6 +23,7 @@ struct MCPToolRow: View { .font(.system(size: 11)) .foregroundColor(.secondary) .lineLimit(1) + .help(description) } } @@ -30,7 +31,7 @@ struct MCPToolRow: View { } } } - .padding(.leading, 32) + .padding(.leading, 36) .padding(.vertical, 0) .onChange(of: tool._status) { isToolEnabled = $0 == .enabled } .onChange(of: isServerEnabled) { if !$0 { isToolEnabled = false } } diff --git a/Server/package-lock.json b/Server/package-lock.json index f83bc5af..d2271df6 100644 --- a/Server/package-lock.json +++ b/Server/package-lock.json @@ -8,7 +8,7 @@ "name": "@github/copilot-xcode", "version": "0.0.1", "dependencies": { - "@github/copilot-language-server": "^1.319.0", + "@github/copilot-language-server": "^1.321.0", "@xterm/addon-fit": "^0.10.0", "@xterm/xterm": "^5.5.0", "monaco-editor": "0.52.2" @@ -36,9 +36,9 @@ } }, "node_modules/@github/copilot-language-server": { - "version": "1.319.0", - "resolved": "https://registry.npmjs.org/@github/copilot-language-server/-/copilot-language-server-1.319.0.tgz", - "integrity": "sha512-SicoidG61WNUs/EJRglJEry6j8ZaJrKKcx/ZznDMxorVAQp7fTeNoE+fbM2lH+qgieZIt/f+pVagYePFIxsMVg==", + "version": "1.321.0", + "resolved": "https://registry.npmjs.org/@github/copilot-language-server/-/copilot-language-server-1.321.0.tgz", + "integrity": "sha512-IblryaajOPfGOSaeVSpu+NUxiodXIInmWcV1YQgmvmKSdcclzt4FxAnu/szRHuh0yIaZlldQ6lBRPFIVeuXv+g==", "license": "https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features", "dependencies": { "vscode-languageserver-protocol": "^3.17.5" diff --git a/Server/package.json b/Server/package.json index 8eddbeab..245bad10 100644 --- a/Server/package.json +++ b/Server/package.json @@ -7,7 +7,7 @@ "build": "webpack" }, "dependencies": { - "@github/copilot-language-server": "^1.319.0", + "@github/copilot-language-server": "^1.321.0", "@xterm/addon-fit": "^0.10.0", "@xterm/xterm": "^5.5.0", "monaco-editor": "0.52.2" diff --git a/TestPlan.xctestplan b/TestPlan.xctestplan index 091e7fe5..e60ea435 100644 --- a/TestPlan.xctestplan +++ b/TestPlan.xctestplan @@ -109,6 +109,13 @@ "identifier" : "ChatServiceTests", "name" : "ChatServiceTests" } + }, + { + "target" : { + "containerPath" : "container:Tool", + "identifier" : "SystemUtilsTests", + "name" : "SystemUtilsTests" + } } ], "version" : 1 diff --git a/Tool/Package.swift b/Tool/Package.swift index 725385da..cfdc50b7 100644 --- a/Tool/Package.swift +++ b/Tool/Package.swift @@ -90,7 +90,7 @@ let package = Package( .target(name: "Preferences", dependencies: ["Configs"]), - .target(name: "Terminal", dependencies: ["Logger"]), + .target(name: "Terminal", dependencies: ["Logger", "SystemUtils"]), .target(name: "Logger"), @@ -307,6 +307,7 @@ let package = Package( "Status", "SystemUtils", "Workspace", + "Persist", .product(name: "LanguageServerProtocol", package: "LanguageServerProtocol"), .product(name: "CopilotForXcodeKit", package: "CopilotForXcodeKit"), ] @@ -346,7 +347,11 @@ let package = Package( // MARK: - SystemUtils - .target(name: "SystemUtils") + .target( + name: "SystemUtils", + dependencies: ["Logger"] + ), + .testTarget(name: "SystemUtilsTests", dependencies: ["SystemUtils"]), ] ) diff --git a/Tool/Sources/BuiltinExtension/BuiltinExtensionConversationServiceProvider.swift b/Tool/Sources/BuiltinExtension/BuiltinExtensionConversationServiceProvider.swift index aca37267..811f2b65 100644 --- a/Tool/Sources/BuiltinExtension/BuiltinExtensionConversationServiceProvider.swift +++ b/Tool/Sources/BuiltinExtension/BuiltinExtensionConversationServiceProvider.swift @@ -3,6 +3,7 @@ import CopilotForXcodeKit import Foundation import Logger import XcodeInspector +import Workspace public final class BuiltinExtensionConversationServiceProvider< T: BuiltinExtension @@ -21,7 +22,13 @@ public final class BuiltinExtensionConversationServiceProvider< extensionManager.extensions.first { $0 is T }?.conversationService } - private func activeWorkspace() async -> WorkspaceInfo? { + private func activeWorkspace(_ workspaceURL: URL? = nil) async -> WorkspaceInfo? { + if let workspaceURL = workspaceURL { + if let workspaceBinding = WorkspaceFile.getWorkspaceInfo(workspaceURL: workspaceURL) { + return workspaceBinding + } + } + guard let workspaceURL = await XcodeInspector.shared.safe.realtimeActiveWorkspaceURL, let projectURL = await XcodeInspector.shared.safe.realtimeActiveProjectURL else { return nil } @@ -35,12 +42,12 @@ public final class BuiltinExtensionConversationServiceProvider< } } - public func createConversation(_ request: ConversationRequest) async throws { + public func createConversation(_ request: ConversationRequest, workspaceURL: URL?) async throws { guard let conversationService else { Logger.service.error("Builtin chat service not found.") return } - guard let workspaceInfo = await activeWorkspace() else { + guard let workspaceInfo = await activeWorkspace(workspaceURL) else { Logger.service.error("Could not get active workspace info") return } @@ -48,12 +55,12 @@ public final class BuiltinExtensionConversationServiceProvider< try await conversationService.createConversation(request, workspace: workspaceInfo) } - public func createTurn(with conversationId: String, request: ConversationRequest) async throws { + public func createTurn(with conversationId: String, request: ConversationRequest, workspaceURL: URL?) async throws { guard let conversationService else { Logger.service.error("Builtin chat service not found.") return } - guard let workspaceInfo = await activeWorkspace() else { + guard let workspaceInfo = await activeWorkspace(workspaceURL) else { Logger.service.error("Could not get active workspace info") return } @@ -61,12 +68,12 @@ public final class BuiltinExtensionConversationServiceProvider< try await conversationService.createTurn(with: conversationId, request: request, workspace: workspaceInfo) } - public func stopReceivingMessage(_ workDoneToken: String) async throws { + public func stopReceivingMessage(_ workDoneToken: String, workspaceURL: URL?) async throws { guard let conversationService else { Logger.service.error("Builtin chat service not found.") return } - guard let workspaceInfo = await activeWorkspace() else { + guard let workspaceInfo = await activeWorkspace(workspaceURL) else { Logger.service.error("Could not get active workspace info") return } @@ -74,24 +81,24 @@ public final class BuiltinExtensionConversationServiceProvider< try await conversationService.cancelProgress(workDoneToken, workspace: workspaceInfo) } - public func rateConversation(turnId: String, rating: ConversationRating) async throws { + public func rateConversation(turnId: String, rating: ConversationRating, workspaceURL: URL?) async throws { guard let conversationService else { Logger.service.error("Builtin chat service not found.") return } - guard let workspaceInfo = await activeWorkspace() else { + guard let workspaceInfo = await activeWorkspace(workspaceURL) else { Logger.service.error("Could not get active workspace info") return } try? await conversationService.rateConversation(turnId: turnId, rating: rating, workspace: workspaceInfo) } - public func copyCode(_ request: CopyCodeRequest) async throws { + public func copyCode(_ request: CopyCodeRequest, workspaceURL: URL?) async throws { guard let conversationService else { Logger.service.error("Builtin chat service not found.") return } - guard let workspaceInfo = await activeWorkspace() else { + guard let workspaceInfo = await activeWorkspace(workspaceURL) else { Logger.service.error("Could not get active workspace info") return } diff --git a/Tool/Sources/ConversationServiceProvider/ConversationServiceProvider.swift b/Tool/Sources/ConversationServiceProvider/ConversationServiceProvider.swift index 3e67a6c9..bb53fbc9 100644 --- a/Tool/Sources/ConversationServiceProvider/ConversationServiceProvider.swift +++ b/Tool/Sources/ConversationServiceProvider/ConversationServiceProvider.swift @@ -16,11 +16,11 @@ public protocol ConversationServiceType { } public protocol ConversationServiceProvider { - func createConversation(_ request: ConversationRequest) async throws - func createTurn(with conversationId: String, request: ConversationRequest) async throws - func stopReceivingMessage(_ workDoneToken: String) async throws - func rateConversation(turnId: String, rating: ConversationRating) async throws - func copyCode(_ request: CopyCodeRequest) async throws + func createConversation(_ request: ConversationRequest, workspaceURL: URL?) async throws + func createTurn(with conversationId: String, request: ConversationRequest, workspaceURL: URL?) async throws + func stopReceivingMessage(_ workDoneToken: String, workspaceURL: URL?) async throws + func rateConversation(turnId: String, rating: ConversationRating, workspaceURL: URL?) async throws + func copyCode(_ request: CopyCodeRequest, workspaceURL: URL?) async throws func templates() async throws -> [ChatTemplate]? func models() async throws -> [CopilotModel]? func notifyDidChangeWatchedFiles(_ event: DidChangeWatchedFilesEvent, workspace: WorkspaceInfo) async throws diff --git a/Tool/Sources/GitHubCopilotService/LanguageServer/CopilotMCPToolManager.swift b/Tool/Sources/GitHubCopilotService/LanguageServer/CopilotMCPToolManager.swift index 3718f849..f64c58e7 100644 --- a/Tool/Sources/GitHubCopilotService/LanguageServer/CopilotMCPToolManager.swift +++ b/Tool/Sources/GitHubCopilotService/LanguageServer/CopilotMCPToolManager.swift @@ -7,7 +7,6 @@ public extension Notification.Name { public class CopilotMCPToolManager { private static var availableMCPServerTools: [MCPServerToolsCollection] = [] - private static var updatedMCPToolsStatusParams: UpdateMCPToolsStatusParams = .init(servers: []) public static func updateMCPTools(_ serverToolsCollections: [MCPServerToolsCollection]) { let sortedMCPServerTools = serverToolsCollections.sorted(by: { $0.name.lowercased() < $1.name.lowercased() }) @@ -30,21 +29,6 @@ public class CopilotMCPToolManager { public static func hasMCPTools() -> Bool { return !availableMCPServerTools.isEmpty } - - public static func updateMCPToolsStatus(_ servers: [UpdateMCPToolsStatusServerCollection]) { - updatedMCPToolsStatusParams = .init(servers: servers) - DispatchQueue.main.async { - NotificationCenter.default - .post( - name: .gitHubCopilotShouldUpdateMCPToolsStatus, - object: nil - ) - } - } - - public static func getUpdatedMCPToolsStatusParams() -> UpdateMCPToolsStatusParams { - return updatedMCPToolsStatusParams - } public static func clearMCPTools() { availableMCPServerTools = [] diff --git a/Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotService.swift b/Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotService.swift index 6992d42f..ae9ac1a9 100644 --- a/Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotService.swift +++ b/Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotService.swift @@ -11,6 +11,7 @@ import Preferences import Status import SuggestionBasic import SystemUtils +import Persist public protocol GitHubCopilotAuthServiceType { func checkStatus() async throws -> GitHubCopilotAccountStatus @@ -175,6 +176,8 @@ public class GitHubCopilotBaseService { } } + environment["PATH"] = SystemUtils.shared.appendCommonBinPaths(path: environment["PATH"] ?? "") + let versionNumber = JSONValue( stringLiteral: SystemUtils.editorPluginVersion ?? "" ) @@ -285,6 +288,8 @@ public class GitHubCopilotBaseService { let notifications = NotificationCenter.default .notifications(named: .gitHubCopilotShouldRefreshEditorInformation) + let mcpNotifications = NotificationCenter.default + .notifications(named: .gitHubCopilotShouldUpdateMCPToolsStatus) Task { [weak self] in if projectRootURL.path != "/" { try? await server.sendNotification( @@ -299,6 +304,9 @@ public class GitHubCopilotBaseService { .init(settings: editorConfiguration()) ) ) + if let copilotService = self as? GitHubCopilotService { + _ = await copilotService.initializeMCP() + } for await _ in notifications { guard self != nil else { return } _ = try? await server.sendNotification( @@ -307,6 +315,10 @@ public class GitHubCopilotBaseService { ) ) } + for await _ in mcpNotifications { + guard self != nil else { return } + _ = await GitHubCopilotService.updateAllMCP() + } } } @@ -383,41 +395,16 @@ func getTerminalEnvironmentVariables(_ variableNames: [String]) -> [String: Stri guard let shell = userShell else { return results } - - let process = Process() - let pipe = Pipe() - - process.executableURL = URL(fileURLWithPath: shell) - process.arguments = ["-l", "-c", "env"] - process.standardOutput = pipe - - do { - try process.run() - process.waitUntilExit() - let data = pipe.fileHandleForReading.readDataToEndOfFile() - guard let outputString = String(data: data, encoding: .utf8) else { - Logger.gitHubCopilot.info("Failed to decode shell output for variables: \(variableNames.joined(separator: ", "))") - return results - } - - // Process each line of env output - for line in outputString.split(separator: "\n") { - // Each env line is in the format NAME=VALUE - if let idx = line.firstIndex(of: "=") { - let key = String(line[.. { .init(defaultValue: "", key: "GitHubCopilotMCPConfig") } + + var gitHubCopilotMCPUpdatedStatus: PreferenceKey { + .init(defaultValue: "", key: "GitHubCopilotMCPUpdatedStatus") + } var gitHubCopilotEnterpriseURI: PreferenceKey { .init(defaultValue: "", key: "GitHubCopilotEnterpriseURI") diff --git a/Tool/Sources/SystemUtils/SystemUtils.swift b/Tool/Sources/SystemUtils/SystemUtils.swift index c2db343a..e5b0c79a 100644 --- a/Tool/Sources/SystemUtils/SystemUtils.swift +++ b/Tool/Sources/SystemUtils/SystemUtils.swift @@ -1,4 +1,5 @@ import Foundation +import Logger import IOKit import CryptoKit @@ -172,4 +173,55 @@ public class SystemUtils { return false #endif } + + /// Returns the environment of a login shell (to get correct PATH and other variables) + public func getLoginShellEnvironment(shellPath: String = "/bin/zsh") -> [String: String]? { + let task = Process() + let pipe = Pipe() + task.executableURL = URL(fileURLWithPath: shellPath) + task.arguments = ["-i", "-l", "-c", "env"] + task.standardOutput = pipe + do { + try task.run() + task.waitUntilExit() + let data = pipe.fileHandleForReading.readDataToEndOfFile() + guard let output = String(data: data, encoding: .utf8) else { return nil } + var env: [String: String] = [:] + for line in output.split(separator: "\n") { + if let idx = line.firstIndex(of: "=") { + let key = String(line[.. String { + let homeDirectory = NSHomeDirectory() + let commonPaths = [ + "/usr/local/bin", + "/usr/bin", + "/bin", + "/usr/sbin", + "/sbin", + homeDirectory + "/.local/bin", + "/opt/homebrew/bin", + "/opt/homebrew/sbin", + ] + + let paths = path.split(separator: ":").map { String($0) } + var newPath = path + for commonPath in commonPaths { + if FileManager.default.fileExists(atPath: commonPath) && !paths.contains(commonPath) { + newPath += (newPath.isEmpty ? "" : ":") + commonPath + } + } + + return newPath + } } diff --git a/Tool/Sources/Terminal/TerminalSession.swift b/Tool/Sources/Terminal/TerminalSession.swift index 237d2a05..6db53ef6 100644 --- a/Tool/Sources/Terminal/TerminalSession.swift +++ b/Tool/Sources/Terminal/TerminalSession.swift @@ -1,4 +1,5 @@ import Foundation +import SystemUtils import Logger import Combine @@ -45,7 +46,7 @@ class ShellProcessManager { // Configure the process process?.executableURL = URL(fileURLWithPath: "/bin/zsh") - process?.arguments = ["-i"] + process?.arguments = ["-i", "-l"] // Create temporary file for shell integration let tempDir = FileManager.default.temporaryDirectory @@ -68,11 +69,13 @@ class ShellProcessManager { var environment = ProcessInfo.processInfo.environment // Fetch login shell environment to get correct PATH - if let shellEnv = ShellProcessManager.getLoginShellEnvironment() { + if let shellEnv = SystemUtils.shared.getLoginShellEnvironment(shellPath: "/bin/zsh") { for (key, value) in shellEnv { environment[key] = value } } + // Append common bin paths to PATH + environment["PATH"] = SystemUtils.shared.appendCommonBinPaths(path: environment["PATH"] ?? "") let userZdotdir = environment["ZDOTDIR"] ?? NSHomeDirectory() environment["ZDOTDIR"] = zshdir.path @@ -108,33 +111,6 @@ class ShellProcessManager { } } - /// Returns the environment of a login shell (to get correct PATH and other variables) - private static func getLoginShellEnvironment() -> [String: String]? { - let task = Process() - let pipe = Pipe() - task.executableURL = URL(fileURLWithPath: "/bin/zsh") - task.arguments = ["-l", "-c", "env"] - task.standardOutput = pipe - do { - try task.run() - task.waitUntilExit() - let data = pipe.fileHandleForReading.readDataToEndOfFile() - guard let output = String(data: data, encoding: .utf8) else { return nil } - var env: [String: String] = [:] - for line in output.split(separator: "\n") { - if let idx = line.firstIndex(of: "=") { - let key = String(line[.. = ["swift", "m", "mm", "h", "cpp", "c", "js", "ts", "py", "rb", "java", "applescript", "scpt", "plist", "entitlements", "md", "json", "xml", "txt", "yaml", "yml", "html", "css"] public let skipPatterns: [String] = [ @@ -98,6 +99,15 @@ public struct WorkspaceFile { return false } + public static func getWorkspaceInfo(workspaceURL: URL) -> WorkspaceInfo? { + guard let projectURL = WorkspaceXcodeWindowInspector.extractProjectURL(workspaceURL: workspaceURL, documentURL: nil) else { + return nil + } + + let workspaceInfo = WorkspaceInfo(workspaceURL: workspaceURL, projectURL: projectURL) + return workspaceInfo + } + public static func getProjects(workspace: WorkspaceInfo) -> [ProjectInfo] { var subprojects: [ProjectInfo] = [] if isXCWorkspace(workspace.workspaceURL) { diff --git a/Tool/Tests/SystemUtilsTests/SystemUtilsTests.swift b/Tool/Tests/SystemUtilsTests/SystemUtilsTests.swift index a01a5a31..95313c0d 100644 --- a/Tool/Tests/SystemUtilsTests/SystemUtilsTests.swift +++ b/Tool/Tests/SystemUtilsTests/SystemUtilsTests.swift @@ -1,8 +1,5 @@ -import CopilotForXcodeKit -import LanguageServerProtocol import XCTest -@testable import Workspace @testable import SystemUtils final class SystemUtilsTests: XCTestCase { @@ -17,4 +14,56 @@ final class SystemUtilsTests: XCTestCase { XCTAssertTrue(versionTest.evaluate(with: version), "The Xcode version should match the expected format.") XCTAssertFalse(version.isEmpty, "The Xcode version should not be an empty string.") } + + func test_getLoginShellEnvironment() throws { + // Test with a valid shell path + let validShellPath = "/bin/zsh" + let env = SystemUtils.shared.getLoginShellEnvironment(shellPath: validShellPath) + + XCTAssertNotNil(env, "Environment should not be nil for valid shell path") + XCTAssertFalse(env?.isEmpty ?? true, "Environment should contain variables") + + // Check for essential environment variables + XCTAssertNotNil(env?["PATH"], "PATH should be present in environment") + XCTAssertNotNil(env?["HOME"], "HOME should be present in environment") + XCTAssertNotNil(env?["USER"], "USER should be present in environment") + + // Test with an invalid shell path + let invalidShellPath = "/nonexistent/shell" + let invalidEnv = SystemUtils.shared.getLoginShellEnvironment(shellPath: invalidShellPath) + XCTAssertNil(invalidEnv, "Environment should be nil for invalid shell path") + } + + func test_appendCommonBinPaths() { + // Test with an empty path + let appendedEmptyPath = SystemUtils.shared.appendCommonBinPaths(path: "") + XCTAssertFalse(appendedEmptyPath.isEmpty, "Result should not be empty when starting with empty path") + XCTAssertTrue(appendedEmptyPath.contains("/usr/bin"), "Common path /usr/bin should be added") + XCTAssertFalse(appendedEmptyPath.hasPrefix(":"), "Result should not start with ':'") + + // Test with a custom path + let customPath = "/custom/bin:/another/custom/bin" + let appendedCustomPath = SystemUtils.shared.appendCommonBinPaths(path: customPath) + + // Verify original paths are preserved + XCTAssertTrue(appendedCustomPath.hasPrefix(customPath), "Original paths should be preserved") + + // Verify common paths are added + XCTAssertTrue(appendedCustomPath.contains(":/usr/local/bin"), "Should contain /usr/local/bin") + XCTAssertTrue(appendedCustomPath.contains(":/usr/bin"), "Should contain /usr/bin") + XCTAssertTrue(appendedCustomPath.contains(":/bin"), "Should contain /bin") + + // Test with a path that already includes some common paths + let existingCommonPath = "/usr/bin:/custom/bin" + let appendedExistingPath = SystemUtils.shared.appendCommonBinPaths(path: existingCommonPath) + + // Check that /usr/bin wasn't added again + let pathComponents = appendedExistingPath.split(separator: ":") + let usrBinCount = pathComponents.filter { $0 == "/usr/bin" }.count + XCTAssertEqual(usrBinCount, 1, "Common path should not be duplicated") + + // Make sure the result is a valid PATH string + // First component should be the initial path components + XCTAssertTrue(appendedExistingPath.hasPrefix(existingCommonPath), "Should preserve original path at the beginning") + } } From 82d3232bb488056a909b8cc187cd335697fc466a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 19 May 2025 02:24:19 +0000 Subject: [PATCH 2/2] Release 0.35.0 --- CHANGELOG.md | 16 ++++++++++++++++ Docs/welcome.png | Bin 178515 -> 0 bytes README.md | 16 ++++++++++++---- ReleaseNotes.md | 15 ++++++++++----- 4 files changed, 38 insertions(+), 9 deletions(-) delete mode 100644 Docs/welcome.png diff --git a/CHANGELOG.md b/CHANGELOG.md index c4ffedc4..e8692d75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.35.0 - May 19, 2025 +### Added +- Launched Agent Mode. Copilot will automatically use multiple requests to edit files, run terminal commands, and fix errors. +- Introduced Model Context Protocol (MCP) support in Agent Mode, allowing you to configure MCP tools to extend capabilities. + +### Changed +- Added a button to enable/disable referencing current file in conversations +- Added an animated progress icon in the response section +- Refined onboarding experience with updated instruction screens and welcome views +- Improved conversation reliability with extended timeout limits for agent requests + +### Fixed +- Addressed critical error handling issues in core functionality +- Resolved UI inconsistencies with chat interface padding adjustments +- Implemented custom certificate handling using system environment variables `NODE_EXTRA_CA_CERTS` and `NODE_TLS_REJECT_UNAUTHORIZED`, fixing network access issues + ## 0.34.0 - April 29, 2025 ### Added - Added support for new models in Chat: OpenAI GPT-4.1, o3 and o4-mini, Gemini 2.5 Pro diff --git a/Docs/welcome.png b/Docs/welcome.png deleted file mode 100644 index de2da42b828e7f9027c0a1fe3f191ffeac4c0ce5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178515 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

1xWv(EPAp4m#t*9uI71K;(l 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 %# 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%0A=U8n&=Myoo*aaLCFG~Hv5}8P3_4i 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

o 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 nxG;U&qv}W@-61437Im|G&`u@1 +## Agent Mode + +GitHub Copilot Agent Mode provides AI-powered assistance that can understand and modify your codebase directly. With Agent Mode, you can: +- Get intelligent code edits applied directly to your files +- Run terminal commands and view their output without leaving the interface +- Search through your codebase to find relevant files and code snippets +- Create new files and directories as needed for your project +- Get assistance with enhanced context awareness across multiple files and folders +- Run Model Context Protocol (MCP) tools you configured to extend the capabilities + +Agent Mode integrates with Xcode's environment, creating a seamless development experience where Copilot can help implement features, fix bugs, and refactor code with comprehensive understanding of your project. + ## Code Completion You can receive auto-complete type suggestions from GitHub Copilot either by starting to write the code you want to use, or by writing a natural language comment describing what you want the code to do. @@ -98,10 +110,6 @@ You can receive auto-complete type suggestions from GitHub Copilot either by sta 1. Press `tab` to accept the first line of a suggestion, hold `option` to view the full suggestion, and press `option` + `tab` to accept the full suggestion. -

- Screenshot of welcome screen -

- ## How to use Chat Open Copilot Chat in GitHub Copilot. diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 20b05455..38eb6c14 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,14 +1,19 @@ -### GitHub Copilot for Xcode 0.34.0 +### GitHub Copilot for Xcode 0.35.0 **🚀 Highlights** -* **New Models**: OpenAI GPT-4.1, o3 and o4-mini, Gemini 2.5 Pro are now available in the Copilot Chat model selector. +* **Agent Mode**: Copilot will automatically use multiple requests to edit files, run terminal commands, and fix errors. +* **Model Context Protocol (MCP)**: Integrated with Agent Mode, allowing you to configure MCP tools to extend capabilities. **💪 Improvements** -* Switched default model to GPT-4.1 for new installations -* Enhanced model selection interface +* Added a button to enable/disable referencing current file in conversations +* Added an animated progress icon in the response section +* Refined onboarding experience with updated instruction screens and welcome views +* Improved conversation reliability with extended timeout limits for agent requests **🛠️ Bug Fixes** -* Resolved critical error handling issues +* Addressed critical error handling issues in core functionality +* Resolved UI inconsistencies with chat interface padding adjustments +* Improved network access with automatic detection of system environment variables for custom certificates