Path: blob/main/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.ts
13401 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { isEqual } from '../../../../base/common/resources.js';6import { URI } from '../../../../base/common/uri.js';7import { isIChatSessionFileChange2 } from '../common/chatSessionsService.js';8import { IModifiedFileEntry } from '../common/editing/chatEditingService.js';9import { IAgentSession } from './agentSessions/agentSessionsModel.js';1011export function editingEntriesContainResource(entries: readonly IModifiedFileEntry[], resourceUri: URI): boolean {12for (const entry of entries) {13if (isEqual(entry.modifiedURI, resourceUri) || isEqual(entry.originalURI, resourceUri)) {14return true;15}16}1718return false;19}2021export function agentSessionContainsResource(session: IAgentSession, resourceUri: URI): boolean {22if (!(session.changes instanceof Array)) {23return false;24}2526for (const change of session.changes) {27if (isIChatSessionFileChange2(change)) {28if (isEqual(change.uri, resourceUri) || (change.originalUri && isEqual(change.originalUri, resourceUri)) || (change.modifiedUri && isEqual(change.modifiedUri, resourceUri))) {29return true;30}31} else if (isEqual(change.modifiedUri, resourceUri) || (change.originalUri && isEqual(change.originalUri, resourceUri))) {32return true;33}34}3536return false;37}383940