@vscode/chat-lib 0.3.1-11 → 0.3.1-13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/src/_internal/extension/common/constants.d.ts +0 -1
  2. package/dist/src/_internal/extension/common/constants.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/common/constants.js +1 -1
  4. package/dist/src/_internal/extension/common/constants.js.map +1 -1
  5. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts +1 -1
  6. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js +120 -53
  8. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js.map +1 -1
  9. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts +52 -8
  10. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +208 -41
  12. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -1
  13. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +11 -0
  14. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  15. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +35 -19
  16. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js.map +1 -1
  17. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +4 -2
  18. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  19. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +39 -12
  20. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  21. package/dist/src/_internal/extension/power/common/powerService.d.ts +22 -0
  22. package/dist/src/_internal/extension/power/common/powerService.d.ts.map +1 -0
  23. package/dist/src/_internal/extension/power/common/powerService.js +20 -0
  24. package/dist/src/_internal/extension/power/common/powerService.js.map +1 -0
  25. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +4 -1
  26. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  27. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +17 -3
  28. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  29. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  30. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +2 -0
  31. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  32. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.d.ts +2 -3
  33. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.d.ts.map +1 -1
  34. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js +2 -1
  35. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js.map +1 -1
  36. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +30 -0
  37. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  38. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +221 -21
  39. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  40. package/dist/src/_internal/extension/xtab/node/xtabUtils.d.ts +3 -4
  41. package/dist/src/_internal/extension/xtab/node/xtabUtils.d.ts.map +1 -1
  42. package/dist/src/_internal/extension/xtab/node/xtabUtils.js +33 -38
  43. package/dist/src/_internal/extension/xtab/node/xtabUtils.js.map +1 -1
  44. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts +1 -2
  45. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts.map +1 -1
  46. package/dist/src/_internal/platform/chat/common/commonTypes.js +8 -8
  47. package/dist/src/_internal/platform/chat/common/commonTypes.js.map +1 -1
  48. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +4 -0
  49. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  50. package/dist/src/_internal/platform/configuration/common/configurationService.js +5 -1
  51. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  52. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
  53. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +8 -4
  54. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
  55. package/dist/src/_internal/platform/env/common/envService.d.ts +6 -0
  56. package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
  57. package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
  58. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
  59. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
  60. package/dist/src/_internal/platform/env/common/nullEnvService.js +4 -0
  61. package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
  62. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +82 -2
  63. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  64. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +201 -1
  65. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  66. package/dist/src/_internal/platform/inlineEdits/common/responseProcessor.d.ts +1 -2
  67. package/dist/src/_internal/platform/inlineEdits/common/responseProcessor.d.ts.map +1 -1
  68. package/dist/src/_internal/platform/inlineEdits/common/responseProcessor.js +4 -0
  69. package/dist/src/_internal/platform/inlineEdits/common/responseProcessor.js.map +1 -1
  70. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +13 -0
  71. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  72. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +10 -0
  73. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  74. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.d.ts +3 -0
  75. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.d.ts.map +1 -1
  76. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.js +12 -11
  77. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.js.map +1 -1
  78. package/dist/src/_internal/platform/networking/common/networking.d.ts +2 -0
  79. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  80. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  81. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +24 -0
  82. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  83. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js +51 -1
  84. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  85. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +2 -0
  86. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
  87. package/dist/src/_internal/platform/telemetry/common/telemetry.js +1 -0
  88. package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
  89. package/dist/src/_internal/platform/telemetry/common/telemetryData.d.ts.map +1 -1
  90. package/dist/src/_internal/platform/telemetry/common/telemetryData.js +3 -0
  91. package/dist/src/_internal/platform/telemetry/common/telemetryData.js.map +1 -1
  92. package/dist/src/_internal/util/common/test/shims/themes.d.ts +13 -0
  93. package/dist/src/_internal/util/common/test/shims/themes.d.ts.map +1 -0
  94. package/dist/src/_internal/util/common/test/shims/themes.js +27 -0
  95. package/dist/src/_internal/util/common/test/shims/themes.js.map +1 -0
  96. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  97. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +3 -1
  98. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  99. package/dist/src/_internal/vscodeTypes.d.ts +1 -0
  100. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  101. package/dist/src/_internal/vscodeTypes.js +3 -1
  102. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  103. package/dist/src/main.d.ts +2 -1
  104. package/dist/src/main.d.ts.map +1 -1
  105. package/dist/src/main.js +3 -0
  106. package/dist/src/main.js.map +1 -1
  107. package/dist/src/package.json +149 -85
  108. package/package.json +2 -2
@@ -47,7 +47,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
47
47
  };
48
48
  var XtabProvider_1;
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.XtabProvider = void 0;
50
+ exports.EditIntentParseMode = exports.XtabProvider = void 0;
51
+ exports.parseEditIntentFromStream = parseEditIntentFromStream;
51
52
  exports.findMergeConflictMarkersRange = findMergeConflictMarkersRange;
52
53
  const chatMLFetcher_1 = require("../../../platform/chat/common/chatMLFetcher");
53
54
  const commonTypes_1 = require("../../../platform/chat/common/commonTypes");
@@ -125,7 +126,7 @@ let XtabProvider = class XtabProvider {
125
126
  this.ID = XtabProvider_1.ID;
126
127
  this.showNextEditPreference = "always" /* ShowNextEditPreference.Always */;
127
128
  this.forceUseDefaultModel = false;
128
- this.userInteractionMonitor = new userInteractionMonitor_1.UserInteractionMonitor(this.configService, this.expService);
129
+ this.userInteractionMonitor = this.instaService.createInstance(userInteractionMonitor_1.UserInteractionMonitor);
129
130
  this.nextCursorPredictor = this.instaService.createInstance(xtabNextCursorPredictor_1.XtabNextCursorPredictor, XtabProvider_1.computeTokens);
130
131
  }
131
132
  handleAcceptance() {
@@ -134,6 +135,9 @@ let XtabProvider = class XtabProvider {
134
135
  handleRejection() {
135
136
  this.userInteractionMonitor.handleRejection();
136
137
  }
138
+ handleIgnored() {
139
+ this.userInteractionMonitor.handleIgnored();
140
+ }
137
141
  async *provideNextEdit(request, logger, logContext, cancellationToken) {
138
142
  const telemetry = new statelessNextEditProvider_1.StatelessNextEditTelemetryBuilder(request);
139
143
  logContext.setProviderStartTime();
@@ -167,7 +171,13 @@ let XtabProvider = class XtabProvider {
167
171
  doGetNextEdit(request, delaySession, logger, logContext, cancellationToken, telemetryBuilder, retryState) {
168
172
  return this.doGetNextEditWithSelection(request, (0, nearbyCursorInlineEditProvider_1.getOrDeduceSelectionFromLastEdit)(request.getActiveDocument()), delaySession, logger, logContext, cancellationToken, telemetryBuilder, retryState);
169
173
  }
170
- async *doGetNextEditWithSelection(request, selection, delaySession, parentTracer, logContext, cancellationToken, telemetryBuilder, retryState) {
174
+ async *doGetNextEditWithSelection(request, selection, delaySession, parentTracer, logContext, cancellationToken, telemetryBuilder, retryState,
175
+ /**
176
+ * For cursor jump scenarios, this is the edit window around the original cursor position
177
+ * (before the jump). When provided, yielded edits will include this as `originalWindow`
178
+ * so the cache can serve the edit when the cursor is in either location.
179
+ */
180
+ originalEditWindow) {
171
181
  const tracer = parentTracer.createSubLogger(['XtabProvider', 'doGetNextEditWithSelection']);
172
182
  const activeDocument = request.getActiveDocument();
173
183
  if (selection === null) {
@@ -223,8 +233,10 @@ let XtabProvider = class XtabProvider {
223
233
  const { clippedTaggedCurrentDoc, areaAroundCodeToEdit } = taggedCurrentFileContentResult.val;
224
234
  telemetryBuilder.setNLinesOfCurrentFileInPrompt(clippedTaggedCurrentDoc.lines.length);
225
235
  const { aggressivenessLevel, userHappinessScore } = this.userInteractionMonitor.getAggressivenessLevel();
226
- // Log aggressiveness level and user happiness score when using XtabAggressiveness prompting strategy
227
- if (promptOptions.promptingStrategy === xtabPromptOptions_1.PromptingStrategy.XtabAggressiveness) {
236
+ // Log aggressiveness level and user happiness score when using XtabAggressiveness, Xtab275EditIntent, or Xtab275EditIntentShort prompting strategy
237
+ if (promptOptions.promptingStrategy === xtabPromptOptions_1.PromptingStrategy.XtabAggressiveness ||
238
+ promptOptions.promptingStrategy === xtabPromptOptions_1.PromptingStrategy.Xtab275EditIntent ||
239
+ promptOptions.promptingStrategy === xtabPromptOptions_1.PromptingStrategy.Xtab275EditIntentShort) {
228
240
  telemetryBuilder.setXtabAggressivenessLevel(aggressivenessLevel);
229
241
  if (userHappinessScore !== undefined) {
230
242
  telemetryBuilder.setXtabUserHappinessScore(userHappinessScore);
@@ -260,7 +272,9 @@ let XtabProvider = class XtabProvider {
260
272
  shouldRemoveCursorTagFromResponse,
261
273
  responseFormat,
262
274
  retryState,
263
- }, delaySession, tracer, telemetryBuilder, logContext, cancellationToken);
275
+ aggressivenessLevel,
276
+ userHappinessScore,
277
+ }, delaySession, tracer, telemetryBuilder, logContext, cancellationToken, originalEditWindow);
264
278
  }
265
279
  getAndProcessLanguageContext(request, delaySession, activeDocument, cursorPosition, promptOptions, tracer, logContext, cancellationToken) {
266
280
  const recordingEnabled = this.configService.getConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsLogContextRecorderEnabled);
@@ -344,9 +358,9 @@ let XtabProvider = class XtabProvider {
344
358
  }
345
359
  }
346
360
  async *streamEditsWithFiltering(request, endpoint, messages, editWindow, editWindowLines, cursorOriginalLinesOffset, cursorLineOffset, // cursor offset within the line it's in; 1-based
347
- editWindowLineRange, promptPieces, prediction, opts, delaySession, parentTracer, telemetryBuilder, logContext, cancellationToken) {
361
+ editWindowLineRange, promptPieces, prediction, opts, delaySession, parentTracer, telemetryBuilder, logContext, cancellationToken, originalEditWindow) {
348
362
  const tracer = parentTracer.createSubLogger('streamEditsWithFiltering');
349
- const iterator = this.streamEdits(request, endpoint, messages, editWindow, editWindowLines, cursorOriginalLinesOffset, cursorLineOffset, editWindowLineRange, promptPieces, prediction, opts, delaySession, tracer, telemetryBuilder, logContext, cancellationToken);
363
+ const iterator = this.streamEdits(request, endpoint, messages, editWindow, editWindowLines, cursorOriginalLinesOffset, cursorLineOffset, editWindowLineRange, promptPieces, prediction, opts, delaySession, tracer, telemetryBuilder, logContext, cancellationToken, originalEditWindow);
350
364
  let nEdits = 0;
351
365
  let r = await iterator.next();
352
366
  while (!r.done) {
@@ -371,7 +385,7 @@ let XtabProvider = class XtabProvider {
371
385
  return r.value;
372
386
  }
373
387
  async *streamEdits(request, endpoint, messages, editWindow, editWindowLines, cursorOriginalLinesOffset, cursorLineOffset, // cursor offset within the line it's in; 1-based
374
- editWindowLineRange, promptPieces, prediction, opts, delaySession, parentTracer, telemetryBuilder, logContext, cancellationToken) {
388
+ editWindowLineRange, promptPieces, prediction, opts, delaySession, parentTracer, telemetryBuilder, logContext, cancellationToken, originalEditWindow) {
375
389
  const tracer = parentTracer.createSubLogger('streamEdits');
376
390
  const useFetcher = this.configService.getExperimentBasedConfig(configurationService_1.ConfigKey.NextEditSuggestionsFetcher, this.expService) || undefined;
377
391
  const fetchStreamSource = new chatMLFetcher_1.FetchStreamSource();
@@ -411,6 +425,10 @@ let XtabProvider = class XtabProvider {
411
425
  requestId: request.id,
412
426
  },
413
427
  useFetcher,
428
+ customMetadata: {
429
+ aggressivenessLevel: opts.aggressivenessLevel,
430
+ userHappinessScore: opts.userHappinessScore,
431
+ },
414
432
  }, cancellationToken);
415
433
  telemetryBuilder.setResponse(fetchResultPromise.then((response) => ({ response, ttft })));
416
434
  logContext.setFullResponse(fetchResultPromise.then((response) => response.type === commonTypes_1.ChatFetchResponseType.Success ? response.value : undefined));
@@ -445,23 +463,44 @@ let XtabProvider = class XtabProvider {
445
463
  const llmLinesStream = (0, xtabUtils_1.toLines)(fetchStreamSource.stream);
446
464
  // logging of times
447
465
  // removal of cursor tag if option is set
448
- const linesStream = (() => {
466
+ const linesStream = (async function* () {
449
467
  let i = 0;
450
- return llmLinesStream.map((v) => {
468
+ for await (const v of llmLinesStream) {
451
469
  const trace = `Line ${i++} emitted with latency ${fetchRequestStopWatch.elapsed()} ms`;
452
470
  tracer.trace(trace);
453
- return opts.shouldRemoveCursorTagFromResponse
471
+ yield opts.shouldRemoveCursorTagFromResponse
454
472
  ? v.replaceAll(tags_1.PromptTags.CURSOR, '')
455
473
  : v;
456
- });
474
+ }
457
475
  })();
458
476
  const isFromCursorJump = opts.retryState instanceof RetryState.Retrying && opts.retryState.reason === 'cursorJump';
459
477
  let cleanedLinesStream;
460
478
  if (opts.responseFormat === xtabPromptOptions.ResponseFormat.EditWindowOnly) {
461
479
  cleanedLinesStream = linesStream;
462
480
  }
481
+ else if (opts.responseFormat === xtabPromptOptions.ResponseFormat.EditWindowWithEditIntent ||
482
+ opts.responseFormat === xtabPromptOptions.ResponseFormat.EditWindowWithEditIntentShort) {
483
+ // Determine parse mode based on response format
484
+ const parseMode = opts.responseFormat === xtabPromptOptions.ResponseFormat.EditWindowWithEditIntentShort
485
+ ? EditIntentParseMode.ShortName
486
+ : EditIntentParseMode.Tags;
487
+ // Parse the edit_intent from the response
488
+ const { editIntent, remainingLinesStream, parseError } = await parseEditIntentFromStream(linesStream, tracer, parseMode);
489
+ // Log the edit intent for telemetry
490
+ telemetryBuilder.setEditIntent(editIntent);
491
+ // Log parse errors for telemetry - this helps detect malformed model output during flights
492
+ if (parseError) {
493
+ telemetryBuilder.setEditIntentParseError(parseError);
494
+ }
495
+ // Check if we should show this edit based on intent and aggressiveness
496
+ if (!xtabPromptOptions.EditIntent.shouldShowEdit(editIntent, promptPieces.aggressivenessLevel)) {
497
+ tracer.trace(`Filtered out edit due to edit intent "${editIntent}" with aggressiveness "${promptPieces.aggressivenessLevel}"`);
498
+ return new statelessNextEditProvider_1.NoNextEditReason.FilteredOut(`editIntent:${editIntent} aggressivenessLevel:${promptPieces.aggressivenessLevel}`);
499
+ }
500
+ cleanedLinesStream = remainingLinesStream;
501
+ }
463
502
  else if (opts.responseFormat === xtabPromptOptions.ResponseFormat.CustomDiffPatch) {
464
- return yield* xtabCustomDiffPatchResponseHandler_1.XtabCustomDiffPatchResponseHandler.handleResponse(linesStream, request.documentBeforeEdits, editWindow);
503
+ return yield* xtabCustomDiffPatchResponseHandler_1.XtabCustomDiffPatchResponseHandler.handleResponse(linesStream, request.documentBeforeEdits, editWindow, originalEditWindow);
465
504
  }
466
505
  else if (opts.responseFormat === xtabPromptOptions.ResponseFormat.UnifiedWithXml) {
467
506
  const linesIter = linesStream[Symbol.asyncIterator]();
@@ -482,7 +521,7 @@ let XtabProvider = class XtabProvider {
482
521
  return new statelessNextEditProvider_1.NoNextEditReason.NoSuggestions(request.documentBeforeEdits, editWindow);
483
522
  }
484
523
  const edit = new lineEdit_1.LineReplacement(new lineRange_1.LineRange(editWindowLineRange.start + cursorOriginalLinesOffset + 1 /* 0-based to 1-based */, editWindowLineRange.start + cursorOriginalLinesOffset + 2), [editWindowLines[cursorOriginalLinesOffset].slice(0, cursorLineOffset - 1) + lineWithCursorContinued.value + editWindowLines[cursorOriginalLinesOffset].slice(cursorLineOffset - 1)]);
485
- yield { edit, isFromCursorJump, window: editWindow };
524
+ yield { edit, isFromCursorJump, window: editWindow, originalWindow: originalEditWindow };
486
525
  const lines = [];
487
526
  let v = await linesIter.next();
488
527
  while (!v.done) {
@@ -498,21 +537,22 @@ let XtabProvider = class XtabProvider {
498
537
  yield {
499
538
  edit: new lineEdit_1.LineReplacement(new lineRange_1.LineRange(line, line), lines),
500
539
  isFromCursorJump,
501
- window: editWindow
540
+ window: editWindow,
541
+ originalWindow: originalEditWindow
502
542
  };
503
543
  return new statelessNextEditProvider_1.NoNextEditReason.NoSuggestions(request.documentBeforeEdits, editWindow);
504
544
  }
505
545
  if (trimmedLines === tags_1.ResponseTags.EDIT.start) {
506
- cleanedLinesStream = new async_2.AsyncIterableObject(async (emitter) => {
546
+ cleanedLinesStream = (async function* () {
507
547
  let v = await linesIter.next();
508
548
  while (!v.done) {
509
549
  if (v.value.includes(tags_1.ResponseTags.EDIT.end)) {
510
550
  return;
511
551
  }
512
- emitter.emitOne(v.value);
552
+ yield v.value;
513
553
  v = await linesIter.next();
514
554
  }
515
- });
555
+ })();
516
556
  }
517
557
  else {
518
558
  return new statelessNextEditProvider_1.NoNextEditReason.Unexpected(new Error(`unexpected tag ${trimmedLines}`));
@@ -574,7 +614,7 @@ let XtabProvider = class XtabProvider {
574
614
  }
575
615
  }
576
616
  }
577
- yield { edit: singleLineEdit, isFromCursorJump, window: editWindow };
617
+ yield { edit: singleLineEdit, isFromCursorJump, window: editWindow, originalWindow: originalEditWindow };
578
618
  i++;
579
619
  }
580
620
  }
@@ -627,7 +667,7 @@ let XtabProvider = class XtabProvider {
627
667
  return new statelessNextEditProvider_1.NoNextEditReason.NoSuggestions(request.documentBeforeEdits, editWindow, nextCursorPosition);
628
668
  }
629
669
  case nextCursorLinePrediction_1.NextCursorLinePrediction.OnlyWithEdit: {
630
- const v = this.doGetNextEditWithSelection(request, new range_1.Range(nextCursorLineOneBased, nextCursorColumn, nextCursorLineOneBased, nextCursorColumn), delaySession, tracer, logContext, cancellationToken, telemetryBuilder, new RetryState.Retrying('cursorJump'));
670
+ const v = this.doGetNextEditWithSelection(request, new range_1.Range(nextCursorLineOneBased, nextCursorColumn, nextCursorLineOneBased, nextCursorColumn), delaySession, tracer, logContext, cancellationToken, telemetryBuilder, new RetryState.Retrying('cursorJump'), editWindow);
631
671
  return yield* v;
632
672
  }
633
673
  default: {
@@ -801,6 +841,8 @@ let XtabProvider = class XtabProvider {
801
841
  case xtabPromptOptions.PromptingStrategy.PatchBased01:
802
842
  case xtabPromptOptions.PromptingStrategy.Xtab275:
803
843
  case xtabPromptOptions.PromptingStrategy.XtabAggressiveness:
844
+ case xtabPromptOptions.PromptingStrategy.Xtab275EditIntent:
845
+ case xtabPromptOptions.PromptingStrategy.Xtab275EditIntentShort:
804
846
  return systemMessages_1.xtab275SystemPrompt;
805
847
  case xtabPromptOptions.PromptingStrategy.Nes41Miniv3:
806
848
  return systemMessages_1.nes41Miniv3SystemPrompt;
@@ -844,6 +886,14 @@ let XtabProvider = class XtabProvider {
844
886
  else if (responseFormat === xtabPromptOptions.ResponseFormat.EditWindowOnly) {
845
887
  return editWindowLines.join('\n');
846
888
  }
889
+ else if (responseFormat === xtabPromptOptions.ResponseFormat.EditWindowWithEditIntent) {
890
+ // For EditWindowWithIntent, we predict the edit intent as high (most likely case) followed by the code
891
+ return ['<|edit_intent|>high<|/edit_intent|>', ...editWindowLines].join('\n');
892
+ }
893
+ else if (responseFormat === xtabPromptOptions.ResponseFormat.EditWindowWithEditIntentShort) {
894
+ // For EditWindowWithIntentShort, we predict 'H' (high) followed by the code
895
+ return ['H', ...editWindowLines].join('\n');
896
+ }
847
897
  else if (responseFormat === xtabPromptOptions.ResponseFormat.CodeBlock) {
848
898
  return ['```', ...editWindowLines, '```'].join('\n');
849
899
  }
@@ -920,6 +970,156 @@ exports.XtabProvider = XtabProvider = XtabProvider_1 = __decorate([
920
970
  __param(8, languageDiagnosticsService_1.ILanguageDiagnosticsService),
921
971
  __param(9, ignoreService_1.IIgnoreService)
922
972
  ], XtabProvider);
973
+ /**
974
+ * Mode for parsing edit intent from the model response.
975
+ */
976
+ var EditIntentParseMode;
977
+ (function (EditIntentParseMode) {
978
+ /** Parse using XML-style tags: <|edit_intent|>value<|/edit_intent|> */
979
+ EditIntentParseMode["Tags"] = "tags";
980
+ /** Parse using short names on the first line: N|L|M|H */
981
+ EditIntentParseMode["ShortName"] = "shortName";
982
+ })(EditIntentParseMode || (exports.EditIntentParseMode = EditIntentParseMode = {}));
983
+ /**
984
+ * Parses the edit_intent from the first line of the response stream.
985
+ * The edit_intent MUST be on the first line, otherwise it's treated as not provided.
986
+ * Returns the parsed EditIntent and a new stream with the remaining content.
987
+ *
988
+ * Supports two modes:
989
+ * - Tags (default): <|edit_intent|>low|medium|high|no_edit<|/edit_intent|>
990
+ * - ShortName: N|L|M|H on the first line
991
+ *
992
+ * @param linesStream The stream of lines from the model response
993
+ * @param tracer Logger for tracing
994
+ * @param mode The parse mode (Tags or ShortName), defaults to Tags
995
+ */
996
+ async function parseEditIntentFromStream(linesStream, tracer, mode = EditIntentParseMode.Tags) {
997
+ if (mode === EditIntentParseMode.ShortName) {
998
+ return parseEditIntentFromStreamShortName(linesStream, tracer);
999
+ }
1000
+ return parseEditIntentFromStreamTags(linesStream, tracer);
1001
+ }
1002
+ /**
1003
+ * Parses the edit_intent using short name format (N|L|M|H on first line).
1004
+ */
1005
+ async function parseEditIntentFromStreamShortName(linesStream, tracer) {
1006
+ let editIntent = xtabPromptOptions.EditIntent.High; // Default to high (always show) if no short name found
1007
+ let parseError;
1008
+ const linesIter = linesStream[Symbol.asyncIterator]();
1009
+ const firstLineResult = await linesIter.next();
1010
+ if (firstLineResult.done) {
1011
+ // Empty stream
1012
+ parseError = 'emptyResponse';
1013
+ tracer.warn(`Empty response stream, no edit_intent short name found`);
1014
+ const remainingLinesStream = (async function* () { })();
1015
+ return { editIntent, remainingLinesStream, parseError };
1016
+ }
1017
+ const firstLine = firstLineResult.value.trim();
1018
+ // Check if the first line is a single character short name
1019
+ const parsedIntent = xtabPromptOptions.EditIntent.fromShortName(firstLine);
1020
+ if (parsedIntent !== undefined) {
1021
+ editIntent = parsedIntent;
1022
+ tracer.trace(`Parsed edit_intent short name from first line: "${firstLine}" -> ${editIntent}`);
1023
+ // Create a new stream with the remaining lines (excluding the short name line)
1024
+ const remainingLinesStream = (async function* () {
1025
+ let next = await linesIter.next();
1026
+ while (!next.done) {
1027
+ yield next.value;
1028
+ next = await linesIter.next();
1029
+ }
1030
+ })();
1031
+ return { editIntent, remainingLinesStream, parseError };
1032
+ }
1033
+ // Short name not found or invalid
1034
+ parseError = `unknownIntentValue:${firstLine}`;
1035
+ tracer.warn(`Edit intent parse error: ${parseError} (using Xtab275EditIntentShort prompting strategy). ` +
1036
+ `Defaulting to High (always show). First line was: "${firstLine.substring(0, 100)}..."`);
1037
+ // Return the first line plus the rest of the stream
1038
+ const remainingLinesStream = (async function* () {
1039
+ yield firstLineResult.value; // Use original value, not trimmed
1040
+ let next = await linesIter.next();
1041
+ while (!next.done) {
1042
+ yield next.value;
1043
+ next = await linesIter.next();
1044
+ }
1045
+ })();
1046
+ return { editIntent, remainingLinesStream, parseError };
1047
+ }
1048
+ /**
1049
+ * Parses the edit_intent tag from the first line of the response stream (original tag-based format).
1050
+ */
1051
+ async function parseEditIntentFromStreamTags(linesStream, tracer) {
1052
+ const EDIT_INTENT_START_TAG = '<|edit_intent|>';
1053
+ const EDIT_INTENT_END_TAG = '<|/edit_intent|>';
1054
+ let editIntent = xtabPromptOptions.EditIntent.High; // Default to high (always show) if no tag found
1055
+ let parseError;
1056
+ const linesIter = linesStream[Symbol.asyncIterator]();
1057
+ const firstLineResult = await linesIter.next();
1058
+ if (firstLineResult.done) {
1059
+ // Empty stream
1060
+ parseError = 'emptyResponse';
1061
+ tracer.warn(`Empty response stream, no edit_intent tag found`);
1062
+ const remainingLinesStream = (async function* () { })();
1063
+ return { editIntent, remainingLinesStream, parseError };
1064
+ }
1065
+ const firstLine = firstLineResult.value;
1066
+ // Check if the first line contains the complete edit_intent tag
1067
+ const startIdx = firstLine.indexOf(EDIT_INTENT_START_TAG);
1068
+ const endIdx = firstLine.indexOf(EDIT_INTENT_END_TAG);
1069
+ if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
1070
+ // Found complete tag on first line
1071
+ const intentValue = firstLine.substring(startIdx + EDIT_INTENT_START_TAG.length, endIdx).trim().toLowerCase();
1072
+ // Check if it's a known intent value
1073
+ const knownIntentValues = ['no_edit', 'low', 'medium', 'high'];
1074
+ if (!knownIntentValues.includes(intentValue)) {
1075
+ parseError = `unknownIntentValue:${intentValue}`;
1076
+ tracer.warn(`Unknown edit_intent value: "${intentValue}", defaulting to High`);
1077
+ }
1078
+ editIntent = xtabPromptOptions.EditIntent.fromString(intentValue);
1079
+ tracer.trace(`Parsed edit_intent from first line: "${intentValue}" -> ${editIntent}`);
1080
+ // Calculate remaining content after the end tag on the first line
1081
+ const afterEndTag = firstLine.substring(endIdx + EDIT_INTENT_END_TAG.length);
1082
+ // Create a new stream that first yields remaining content from first line, then continues
1083
+ const remainingLinesStream = (async function* () {
1084
+ // Only yield remaining content from first line if non-empty
1085
+ if (afterEndTag.trim() !== '') {
1086
+ yield afterEndTag;
1087
+ }
1088
+ // Continue with rest of the stream
1089
+ let next = await linesIter.next();
1090
+ while (!next.done) {
1091
+ yield next.value;
1092
+ next = await linesIter.next();
1093
+ }
1094
+ })();
1095
+ return { editIntent, remainingLinesStream, parseError };
1096
+ }
1097
+ // Determine the parse error type
1098
+ if (startIdx !== -1 && endIdx === -1) {
1099
+ // Start tag found but no end tag - malformed (possibly split across lines)
1100
+ parseError = 'malformedTag:startWithoutEnd';
1101
+ }
1102
+ else if (startIdx === -1 && endIdx !== -1) {
1103
+ // End tag found but no start tag - malformed
1104
+ parseError = 'malformedTag:endWithoutStart';
1105
+ }
1106
+ else {
1107
+ // No tag found at all
1108
+ parseError = 'noTagFound';
1109
+ }
1110
+ tracer.warn(`Edit intent parse error: ${parseError} (using Xtab275EditIntent prompting strategy). ` +
1111
+ `Defaulting to High (always show). First line was: "${firstLine.substring(0, 100)}..."`);
1112
+ // Return the first line plus the rest of the stream
1113
+ const remainingLinesStream = (async function* () {
1114
+ yield firstLine;
1115
+ let next = await linesIter.next();
1116
+ while (!next.done) {
1117
+ yield next.value;
1118
+ next = await linesIter.next();
1119
+ }
1120
+ })();
1121
+ return { editIntent, remainingLinesStream, parseError };
1122
+ }
923
1123
  /**
924
1124
  * Finds the range of lines containing merge conflict markers within a specified edit window.
925
1125
  *
@@ -1 +1 @@
1
- {"version":3,"file":"xtabProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xtabProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabProvider.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,13 @@
1
1
  import { Raw } from '@vscode/prompt-tsx';
2
- import { AsyncIterableObject } from '../../../util/vs/base/common/async';
3
- export declare function toLines(stream: AsyncIterableObject<{
2
+ export declare function toLines(stream: AsyncIterable<{
4
3
  delta: {
5
4
  text: string;
6
5
  };
7
- }>): AsyncIterableObject<string>;
6
+ }>): AsyncIterable<string>;
8
7
  /**
9
8
  * Remove backticks on the first and last lines.
10
9
  */
11
- export declare function linesWithBackticksRemoved(linesStream: AsyncIterableObject<string>): AsyncIterableObject<string>;
10
+ export declare function linesWithBackticksRemoved(linesStream: AsyncIterable<string>): AsyncIterable<string>;
12
11
  export declare function constructMessages({ systemMsg, userMsg }: {
13
12
  systemMsg: string;
14
13
  userMsg: string;
@@ -1 +1 @@
1
- {"version":3,"file":"xtabUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,wBAAgB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,+BAkB/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,+BA8BjF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAWnH;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,MAAM,CAG7D"}
1
+ {"version":3,"file":"xtabUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAIzC,wBAAuB,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAgBxG;AAED;;GAEG;AACH,wBAAuB,yBAAyB,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CA4B1G;AAED,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAWnH;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,MAAM,CAG7D"}