豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

Commit 0fc167c

Browse files
committed
fix
1 parent da38409 commit 0fc167c

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/extension/prompt/node/chatParticipantTelemetry.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ import { ChatFetchResponseType, ChatLocation } from '../../../platform/chat/comm
99
import { getTextPart, roleToString } from '../../../platform/chat/common/globalStringUtils';
1010
import { ConfigKey, IConfigurationService } from '../../../platform/configuration/common/configurationService';
1111
import { isAutoModel } from '../../../platform/endpoint/node/autoChatEndpoint';
12+
import { IVSCodeExtensionContext } from '../../../platform/extContext/common/extensionContext';
1213
import { ILanguageDiagnosticsService } from '../../../platform/languages/common/languageDiagnosticsService';
1314
import { IChatEndpoint } from '../../../platform/networking/common/networking';
1415
import { ITelemetryService } from '../../../platform/telemetry/common/telemetry';
1516
import { TelemetryData as PlatformTelemetryData } from '../../../platform/telemetry/common/telemetryData';
1617
import { getCachedSha256Hash } from '../../../util/common/crypto';
1718
import { isNotebookCellOrNotebookChatInput } from '../../../util/common/notebooks';
19+
import { extUriBiasedIgnorePathCase } from '../../../util/vs/base/common/resources';
1820
import { URI } from '../../../util/vs/base/common/uri';
1921
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
2022
import { isBYOKModel } from '../../byok/node/openAIEndpoint';
@@ -212,12 +214,7 @@ const builtinSlashCommands = new Set(
212214
Object.values(agentsToCommands).flatMap(commands => commands ? Object.keys(commands) : [])
213215
);
214216

215-
function isOwnExtensionUri(uri: URI): boolean {
216-
// Extension-provided prompt files live under .../extensions/github.copilot-chat-<version>/...
217-
return /\/extensions\/github\.copilot-chat-/.test(uri.path);
218-
}
219-
220-
function getSlashCommandForTelemetry(request: vscode.ChatRequest): string {
217+
function getSlashCommandForTelemetry(request: vscode.ChatRequest, extensionUri: URI): string {
221218
// Built-in slash commands (explain, fix, tests, etc.) are safe to send as plain text
222219
if (request.command && builtinSlashCommands.has(request.command)) {
223220
return request.command;
@@ -230,7 +227,7 @@ function getSlashCommandForTelemetry(request: vscode.ChatRequest): string {
230227
}
231228

232229
// Extension-provided prompt files are safe to send as plain text
233-
if (URI.isUri(match.variable.value) && isOwnExtensionUri(match.variable.value)) {
230+
if (URI.isUri(match.variable.value) && extUriBiasedIgnorePathCase.isEqualOrParent(match.variable.value, extensionUri)) {
234231
return match.command;
235232
}
236233

@@ -602,6 +599,7 @@ export class PanelChatTelemetry extends ChatTelemetry<IDocumentContext | undefin
602599
repoInfoTelemetry: RepoInfoTelemetry,
603600
@ITelemetryService telemetryService: ITelemetryService,
604601
@IConfigurationService private readonly _configurationService: IConfigurationService,
602+
@IVSCodeExtensionContext private readonly _extensionContext: IVSCodeExtensionContext,
605603
) {
606604
super(ChatLocation.Panel,
607605
sessionId,
@@ -739,7 +737,7 @@ export class PanelChatTelemetry extends ChatTelemetry<IDocumentContext | undefin
739737
mode: this._getModeNameForTelemetry(),
740738
parentRequestId: this._request.parentRequestId,
741739
vscodeRequestId: this._request.id,
742-
slashCommand: getSlashCommandForTelemetry(this._request)
740+
slashCommand: getSlashCommandForTelemetry(this._request, URI.from(this._extensionContext.extensionUri))
743741
} satisfies RequestPanelTelemetryProperties, {
744742
turn: this._conversation.turns.length,
745743
round: roundIndex,

0 commit comments

Comments
 (0)