Skip to content

Commit 3a63678

Browse files
committed
1 parent 78892ed commit 3a63678

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

src/vs/editor/common/textModelEditSource.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,11 @@ export const EditSources = {
9191

9292
rename: () => createEditSource({ source: 'rename' } as const),
9393

94-
chatApplyEdits(data: { modelId: string | undefined; sessionId: string | undefined; requestId: string | undefined }) {
94+
chatApplyEdits(data: { modelId: string | undefined; sessionId: string | undefined; requestId: string | undefined; languageId: string }) {
9595
return createEditSource({
9696
source: 'Chat.applyEdits',
9797
$modelId: avoidPathRedaction(data.modelId),
98+
$$languageId: data.languageId,
9899
$$sessionId: data.sessionId,
99100
$$requestId: data.requestId,
100101
} as const);
@@ -160,7 +161,7 @@ function toProperties(version: ProviderId | undefined) {
160161
}
161162

162163
type Values<T> = T[keyof T];
163-
type ITextModelEditSourceMetadata = Values<{ [TKey in keyof typeof EditSources]: ReturnType<typeof EditSources[TKey]>['metadataT'] }>;
164+
export type ITextModelEditSourceMetadata = Values<{ [TKey in keyof typeof EditSources]: ReturnType<typeof EditSources[TKey]>['metadataT'] }>;
164165
type ITextModelEditSourceMetadataKeys = Values<{ [TKey in keyof typeof EditSources]: keyof ReturnType<typeof EditSources[TKey]>['metadataT'] }>;
165166

166167

src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ export class ChatEditingTextModelChangeService extends Disposable {
162162

163163
const sessionId = responseModel.session.sessionId;
164164
const request = responseModel.session.getRequests().at(-1);
165-
const source = EditSources.chatApplyEdits({ modelId: request?.modelId, requestId: request?.id, sessionId: sessionId });
165+
const languageId = this.modifiedModel.getLanguageId();
166+
const source = EditSources.chatApplyEdits({ modelId: request?.modelId, requestId: request?.id, sessionId: sessionId, languageId });
166167

167168
if (isAtomicEdits) {
168169
// EDIT and DONE

src/vs/workbench/contrib/editTelemetry/browser/telemetry/arcTelemetrySender.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { ITelemetryService } from '../../../../../platform/telemetry/common/tele
1616
import { ArcTracker } from './arcTracker.js';
1717
import { IDocumentWithAnnotatedEdits, EditSourceData, createDocWithJustReason } from '../helpers/documentWithAnnotatedEdits.js';
1818
import type { ScmRepoBridge } from './editSourceTrackingImpl.js';
19+
import { ITextModelEditSourceMetadata } from '../../../../../editor/common/textModelEditSource.js';
1920

2021
export class InlineEditArcTelemetrySender extends Disposable {
2122
constructor(
@@ -103,7 +104,7 @@ export class ChatArcTelemetrySender extends Disposable {
103104
this._register(runOnChange(docWithAnnotatedEdits.value, (_val, _prev, changes) => {
104105
const edit = AnnotatedStringEdit.compose(changes.map(c => c.edit));
105106

106-
const supportedSource = new Set(['Chat.applyEdits']);
107+
const supportedSource = new Set(['Chat.applyEdits' as ITextModelEditSourceMetadata['source']]);
107108

108109
if (!edit.replacements.some(r => supportedSource.has(r.data.editSource.metadata.source))) {
109110
return;
@@ -124,6 +125,7 @@ export class ChatArcTelemetrySender extends Disposable {
124125
editSessionId: string | undefined;
125126
requestId: string | undefined;
126127
modelId: string | undefined;
128+
languageId: string | undefined;
127129

128130
didBranchChange: number;
129131
timeDelayMs: number;
@@ -144,6 +146,7 @@ export class ChatArcTelemetrySender extends Disposable {
144146
editSessionId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The session id.' };
145147
requestId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The request id.' };
146148
modelId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The model id.' };
149+
languageId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The language id of the document.' };
147150

148151
didBranchChange: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; isMeasurement: true; comment: 'Indicates if the branch changed in the meantime. If the branch changed (value is 1); this event should probably be ignored.' };
149152
timeDelayMs: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; isMeasurement: true; comment: 'The time delay between the user accepting the edit and measuring the survival rate.' };
@@ -159,6 +162,7 @@ export class ChatArcTelemetrySender extends Disposable {
159162
$$requestUuid: false,
160163
$$sessionId: false,
161164
$$requestId: false,
165+
$$languageId: false,
162166
$modelId: false,
163167
}),
164168
extensionId: data.props.$extensionId,
@@ -167,6 +171,7 @@ export class ChatArcTelemetrySender extends Disposable {
167171
editSessionId: data.props.$$sessionId,
168172
requestId: data.props.$$requestId,
169173
modelId: data.props.$modelId,
174+
languageId: data.props.$$languageId,
170175

171176
didBranchChange: res.didBranchChange ? 1 : 0,
172177
timeDelayMs: res.timeDelayMs,

0 commit comments

Comments
 (0)