@vscode/chat-lib 0.54.2026062302 → 0.55.0

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 (47) hide show
  1. package/dist/src/_internal/extension/conversation/common/languageModelAccess.d.ts +8 -1
  2. package/dist/src/_internal/extension/conversation/common/languageModelAccess.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/conversation/common/languageModelAccess.js +14 -2
  4. package/dist/src/_internal/extension/conversation/common/languageModelAccess.js.map +1 -1
  5. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +52 -0
  6. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +4 -1
  8. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js.map +1 -1
  9. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +11 -0
  10. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +83 -5
  12. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  13. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +3 -0
  14. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  15. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +8 -1
  16. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  17. package/dist/src/_internal/extension/xtab/node/xtabPatchResponseHandler.d.ts +31 -3
  18. package/dist/src/_internal/extension/xtab/node/xtabPatchResponseHandler.d.ts.map +1 -1
  19. package/dist/src/_internal/extension/xtab/node/xtabPatchResponseHandler.js +94 -16
  20. package/dist/src/_internal/extension/xtab/node/xtabPatchResponseHandler.js.map +1 -1
  21. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  22. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +9 -2
  23. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  24. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +5 -0
  25. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  26. package/dist/src/_internal/platform/configuration/common/configurationService.js +7 -2
  27. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  28. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +1 -0
  29. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  30. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +14 -3
  31. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  32. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts +0 -5
  33. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts.map +1 -1
  34. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +1 -14
  35. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  36. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +8 -0
  37. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  38. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  39. package/dist/src/_internal/platform/otel/common/otelConfig.d.ts +33 -6
  40. package/dist/src/_internal/platform/otel/common/otelConfig.d.ts.map +1 -1
  41. package/dist/src/_internal/platform/otel/common/otelConfig.js +78 -28
  42. package/dist/src/_internal/platform/otel/common/otelConfig.js.map +1 -1
  43. package/dist/src/_internal/util/vs/base/common/async.d.ts.map +1 -1
  44. package/dist/src/_internal/util/vs/base/common/async.js +5 -3
  45. package/dist/src/_internal/util/vs/base/common/async.js.map +1 -1
  46. package/dist/src/package.json +112 -28
  47. package/package.json +1 -1
@@ -48,10 +48,16 @@ export declare function formatTokenCount(count: number): string;
48
48
  */
49
49
  export declare function formatPricingLabel(pricing: IChatEndpointTokenPricing): string;
50
50
  /**
51
- * Raw token prices from the CAPI billing response (API 2026-06-01+, prices in AIUs).
51
+ * Raw token prices from the CAPI billing response. Supports both the tiered
52
+ * format (API 2026-06-01+, prices in AIUs) and the legacy flat format
53
+ * (pre-2026-06-01, prices in nano-AIUs) which is still used by some endpoints
54
+ * such as the cloud agents (`/agents/swe/models`) model picker.
52
55
  */
53
56
  export interface IRawTokenPrices {
54
57
  batch_size?: number;
58
+ input_price?: number;
59
+ cache_price?: number;
60
+ output_price?: number;
55
61
  default?: {
56
62
  input_price?: number;
57
63
  cache_price?: number;
@@ -80,6 +86,7 @@ export interface INormalizedTokenPricing {
80
86
  }
81
87
  /**
82
88
  * Converts raw billing token prices into normalized AICs (credits) per million tokens.
89
+ * Handles both tiered (AIU) and legacy flat (nano-AIU) formats.
83
90
  *
84
91
  * When a `long_context` tier is present but its prices match the `default` tier,
85
92
  * it is omitted from the result.
@@ -1 +1 @@
1
- {"version":3,"file":"languageModelAccess.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/conversation/common/languageModelAccess.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAE1G,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,QAAQ,CAAC;AAE7F;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU9G;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWnE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAUvK;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,aAAa,GAAG,4BAA4B,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAsD7J;AAaD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAM7E;AAID;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClI,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvI;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,GAAG,uBAAuB,GAAG,SAAS,CAwClH"}
1
+ {"version":3,"file":"languageModelAccess.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/conversation/common/languageModelAccess.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAE1G,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,QAAQ,CAAC;AAE7F;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU9G;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWnE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,gCAAgC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAUvK;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,aAAa,GAAG,4BAA4B,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAsD7J;AAaD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAM7E;AAKD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClI,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvI;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,GAAG,uBAAuB,GAAG,SAAS,CAkDlH"}
@@ -207,8 +207,10 @@ function formatPricingLabel(pricing) {
207
207
  return l10n.t('In: {0} · Out: {1} AICs/1M tokens', formatAicPrice(pricing.default.inputPrice), formatAicPrice(pricing.default.outputPrice));
208
208
  }
209
209
  const TOKENS_PER_MILLION = 1_000_000;
210
+ const NANO_AIU_DIVISOR = 1_000_000_000;
210
211
  /**
211
212
  * Converts raw billing token prices into normalized AICs (credits) per million tokens.
213
+ * Handles both tiered (AIU) and legacy flat (nano-AIU) formats.
212
214
  *
213
215
  * When a `long_context` tier is present but its prices match the `default` tier,
214
216
  * it is omitted from the result.
@@ -249,7 +251,17 @@ function normalizeTokenPrices(tokenPrices) {
249
251
  }
250
252
  return { default: normalized, longContext };
251
253
  }
252
- // No valid pricing data
253
- return undefined;
254
+ // Legacy flat format (pre-2026-06-01): values are in nano-AIUs
255
+ if (tokenPrices.input_price === undefined || tokenPrices.output_price === undefined) {
256
+ return undefined;
257
+ }
258
+ return {
259
+ default: {
260
+ inputPrice: (tokenPrices.input_price / NANO_AIU_DIVISOR) * scale,
261
+ outputPrice: (tokenPrices.output_price / NANO_AIU_DIVISOR) * scale,
262
+ cachePrice: tokenPrices.cache_price !== undefined ? (tokenPrices.cache_price / NANO_AIU_DIVISOR) * scale : undefined,
263
+ cacheWritePrice: undefined,
264
+ },
265
+ };
254
266
  }
255
267
  //# sourceMappingURL=languageModelAccess.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languageModelAccess.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/conversation/common/languageModelAccess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languageModelAccess.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/conversation/common/languageModelAccess.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,50 @@ export interface CachedEditOpts {
24
24
  * the cached entry is not served.
25
25
  */
26
26
  cursorOffset?: number;
27
+ /**
28
+ * Zero-based index of the model-emitted patch this edit originated from
29
+ * (diff-patch response format). `undefined` for formats without an explicit
30
+ * patch structure. @see StreamedEdit.patchIndex
31
+ */
32
+ patchIndex?: number;
33
+ /**
34
+ * Patch indices for the bundled `nextEdits`, aligned by position. Stored on the
35
+ * first cached entry so that edits served later via rebase (addressed by
36
+ * `rebasedEditIndex` into the bundle) can be attributed to the right model patch.
37
+ */
38
+ patchIndices?: readonly (number | undefined)[];
39
+ /**
40
+ * The document the cached edit actually applies to, when it differs from the
41
+ * document the entry is keyed under (cross-file NES). `undefined` means the edit
42
+ * targets the owning/key document (the common same-file case).
43
+ *
44
+ * Used to cache an `A -> suggestion-in-B` association: the entry is keyed and
45
+ * gated against the active document A (content + edit window), but the edit it
46
+ * carries lands in document B.
47
+ */
48
+ targetDocId?: DocumentId;
49
+ /**
50
+ * The target document's content at the time the cross-file edit was produced
51
+ * (i.e. the content the {@link CachedEdit.edit} offsets index into). Only set
52
+ * together with {@link targetDocId}. The read path must serve the edit only when
53
+ * the target document's live content still equals this snapshot; otherwise the
54
+ * edit's offsets are stale and would resolve against the wrong content.
55
+ */
56
+ targetDocumentBeforeEdit?: StringText;
27
57
  }
28
58
  export interface CachedEdit {
29
59
  docId: DocumentId;
60
+ /**
61
+ * The document the cached edit actually applies to, when it differs from {@link docId}
62
+ * (cross-file NES). `undefined` means the edit targets the owning/key document
63
+ * {@link docId} (the common same-file case). @see CachedEditOpts.targetDocId
64
+ */
65
+ targetDocId?: DocumentId;
66
+ /**
67
+ * The target document's content at the time the cross-file edit was produced.
68
+ * Only set together with {@link targetDocId}. @see CachedEditOpts.targetDocumentBeforeEdit
69
+ */
70
+ targetDocumentBeforeEdit?: StringText;
30
71
  documentBeforeEdit: StringText;
31
72
  editWindow?: OffsetRange;
32
73
  /**
@@ -45,6 +86,17 @@ export interface CachedEdit {
45
86
  * When caching multiple edits, this is the order in which they were applied.
46
87
  */
47
88
  subsequentN?: number;
89
+ /**
90
+ * Zero-based index of the model-emitted patch this edit originated from
91
+ * (diff-patch response format). @see StreamedEdit.patchIndex
92
+ */
93
+ patchIndex?: number;
94
+ /**
95
+ * Patch indices for the bundled `edits`, aligned by position. Present on the
96
+ * first cached entry (the one carrying the `edits` bundle) so rebased subsequent
97
+ * edits, addressed by `rebasedEditIndex`, can be attributed to the right patch.
98
+ */
99
+ patchIndices?: readonly (number | undefined)[];
48
100
  source: NextEditFetchRequest;
49
101
  cacheTime: number;
50
102
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nextEditCache.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextEditCache.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AACvF,OAAO,EAAuB,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAEpH,OAAO,EAAW,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,OAAO,EAAE,UAAU,EAAgB,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACjI,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAwB,iBAAiB,EAA+B,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,UAAU,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,UAAU,CAAC;IACtC,kBAAkB,EAAE,UAAU,CAAC;IAC/B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,aAAa,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;IACjE,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;OAIG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG;IAC9C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;CAC5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,UAAU;aAK3B,SAAS,EAAE,mBAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;gBAG5C,SAAS,EAAE,mBAAmB,EAC7B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,qBAAqB,EACrC,WAAW,EAAE,uBAAuB;IAiC/C,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,GAAG,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAQrT,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB;IAQvI,OAAO,CAAC,oBAAoB;IAUrB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,WAAW,EAAE,GAAG,mBAAmB,GAAG,SAAS;IASjJ,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,WAAW,EAAE,GAAG,YAAY;IAQxI,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMzC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB;IAQlG,iBAAiB,CAAC,UAAU,EAAE,UAAU;IAOxC,KAAK;CAIZ"}
@@ -140,7 +140,7 @@ class DocumentEditCache {
140
140
  }
141
141
  setKthNextEdit(documentContents, editWindow, nextEdit, nextEdits, userEditSince, subsequentN, source, opts) {
142
142
  const key = this._getKey(documentContents.value);
143
- const cachedEdit = { docId: this.docId, edit: nextEdit, edits: nextEdits, detailedEdits: [], userEditSince, subsequentN, source, documentBeforeEdit: documentContents, editWindow, originalEditWindow: opts.originalEditWindow, cacheTime: Date.now(), isFromCursorJump: opts.isFromCursorJump, cursorOffsetAtCacheTime: opts.cursorOffset };
143
+ const cachedEdit = { docId: this.docId, targetDocId: opts.targetDocId, targetDocumentBeforeEdit: opts.targetDocumentBeforeEdit, edit: nextEdit, edits: nextEdits, detailedEdits: [], userEditSince, subsequentN, patchIndex: opts.patchIndex, patchIndices: opts.patchIndices, source, documentBeforeEdit: documentContents, editWindow, originalEditWindow: opts.originalEditWindow, cacheTime: Date.now(), isFromCursorJump: opts.isFromCursorJump, cursorOffsetAtCacheTime: opts.cursorOffset };
144
144
  if (userEditSince) {
145
145
  if (!(0, editRebase_1.checkEditConsistency)(cachedEdit.documentBeforeEdit.value, userEditSince, this._doc.value.get().value, this._logger.createSubLogger('setKthNextEdit'))) {
146
146
  cachedEdit.userEditSince = undefined;
@@ -189,7 +189,10 @@ class DocumentEditCache {
189
189
  // If the cursor moved farther from the edit's start line than it was at cache time,
190
190
  // reject the cached edit so the same suggestion is not shown again.
191
191
  // Only applies to non-rebased, non-subsequent edits.
192
+ // Skipped for cross-file entries: their `edit` is in the target document's
193
+ // coordinate space, so transforming it against this (active) document is meaningless.
192
194
  if (cacheCursorDistanceCheck
195
+ && !cachedEdit.targetDocId
193
196
  && cachedEdit.edit
194
197
  && (cachedEdit.subsequentN === undefined || cachedEdit.subsequentN === 0)
195
198
  && cachedEdit.cursorOffsetAtCacheTime !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"nextEditCache.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextEditCache.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditCache.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,sGAA+G;AAG/G,sFAA2F;AAG3F,sDAAsD;AACtD,sEAAkF;AAClF,wFAA2F;AAI3F,qDAA4G;AAE5G,iDAAsE;AAuHtE,MAAa,aAAc,SAAQ,sBAAU;IAI5C,YACiB,SAA8B,EAC7B,WAAwB,EACxB,cAAqC,EACrC,WAAoC;QAErD,KAAK,EAAE,CAAC;QALQ,cAAS,GAAT,SAAS,CAAqB;QAC7B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAuB;QACrC,gBAAW,GAAX,WAAW,CAAyB;QAPrC,oBAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC3D,iBAAY,GAAG,IAAI,gBAAQ,CAAa,EAAE,CAAC,CAAC;QAU5D,IAAA,6CAAwB,EAAC,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACtE,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5F,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAE7C,KAAK,CAAC,GAAG,CAAC,IAAA,+BAAkB,EAAC,IAAI,EAAE;gBAClC,KAAK,EAAE,GAAG,CAAC,KAAK;aAChB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;wBACrB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACF,CAAC;gBACD,0CAA0C;gBAC1C,gIAAgI;gBAChI,IAAI,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,gCAAS,CAAC,QAAQ,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;oBACnJ,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;wBAClD,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;4BACxB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAChC,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC,CAAC;YAEJ,KAAK,CAAC,GAAG,CAAC,IAAA,wBAAY,EAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEM,cAAc,CAAC,KAAiB,EAAE,gBAA4B,EAAE,UAAmC,EAAE,QAA2B,EAAE,WAAmB,EAAE,SAA0C,EAAE,aAAqC,EAAE,MAA4B,EAAE,IAAoB;QAClS,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QACD,OAAO,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7H,CAAC;IAEM,aAAa,CAAC,KAAiB,EAAE,gBAA4B,EAAE,UAAmC,EAAE,MAA4B;QACtI,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QACD,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEO,oBAAoB;QAC3B,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,sCAAsC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAElK,OAAO;YACN,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,kCAAkC,EAAE,IAAI,CAAC,WAAW,CAAC;YAClJ,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC;YACpI,2BAA2B,EAAE,OAAO,2BAA2B,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,2BAA2B;SACrJ,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,KAAiB,EAAE,uBAAmC,EAAE,gBAAwC;QACrH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QACrK,OAAO,QAAQ,CAAC,cAAc,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAClI,CAAC;IAEM,mBAAmB,CAAC,UAAsB,EAAE,uBAAmC,EAAE,gBAAwC;QAC/H,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzH,CAAC;IAEM,gBAAgB,CAAC,SAAiB;QACxC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC;aACnD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,kBAAkB,CAAC,KAAiB,EAAE,uBAAmC,EAAE,IAAuB;QACxG,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAEM,iBAAiB,CAAC,UAAsB;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACD;AA7GD,sCA6GC;AAED,MAAM,iBAAiB;IAKtB,YACkB,cAA6B,EAC9B,KAAiB,EAChB,IAAyB,EACzB,YAAkC,EACnD,WAAwB;QAJP,mBAAc,GAAd,cAAc,CAAe;QAC9B,UAAK,GAAL,KAAK,CAAY;QAChB,SAAI,GAAJ,IAAI,CAAqB;QACzB,iBAAY,GAAZ,YAAY,CAAsB;QAPnC,wBAAmB,GAAiB,EAAE,CAAC;QAUvD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,UAAU,CAAC,IAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAC1D,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC9B,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClE,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,IAAA,iCAAoB,EAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC/H,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;gBACtC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEM,iBAAiB,CAAC,UAAsB;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,cAAc,CAAC,gBAA4B,EAAE,UAAmC,EAAE,QAA2B,EAAE,SAA0C,EAAE,aAAqC,EAAE,WAAmB,EAAE,MAA4B,EAAE,IAAoB;QAC/Q,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/e,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,IAAA,iCAAoB,EAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;gBAC5J,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,aAAa,CAAC,gBAA4B,EAAE,UAAmC,EAAE,MAA4B;QACnH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAe,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;QAC9M,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;IACF,CAAC;IAEM,cAAc,CAAC,uBAAmC,EAAE,gBAAwC,EAAE,gBAAkC,EAAE,2BAAoC,KAAK;QACjL,0FAA0F;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;YACzD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACxC,0FAA0F;YAC1F,2EAA2E;YAC3E,MAAM,YAAY,GAAG,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YACxE,IAAI,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtD,OAAO,SAAS,CAAC;YAClB,CAAC;YACD,oFAAoF;YACpF,oEAAoE;YACpE,qDAAqD;YACrD,2EAA2E;YAC3E,sFAAsF;YACtF,IAAI,wBAAwB;mBACxB,CAAC,UAAU,CAAC,WAAW;mBACvB,UAAU,CAAC,IAAI;mBACf,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,KAAK,CAAC,CAAC;mBACtE,UAAU,CAAC,uBAAuB,KAAK,SAAS;mBAChD,WAAW,EACb,CAAC;gBACF,MAAM,WAAW,GAAG,uBAAuB,CAAC,cAAc,EAAE,CAAC;gBAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;gBAC7F,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC;gBAClG,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;gBAChF,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,aAAa,CAAC,EAAE,CAAC;oBAChG,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC3B,OAAO,UAAU,CAAC;gBACnB,CAAC;YACF,CAAC;YACD,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACjH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,mBAAmB,CAAC,UAAsB,EAAE,uBAAmC,EAAE,gBAAwC,EAAE,gBAAkC;QACnK,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAC1D,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAErF,0EAA0E;YAC1E,+EAA+E;YAC/E,sEAAsE;YACtE,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB;gBACjD,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC;gBACxD,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE3B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC3N,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;oBAC5B,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC/B,OAAO;wBACN,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,IAAI,gCAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;qBAC3L,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,KAAK,mBAAmB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBAC3D,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;oBACrC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC5B,CAAC;qBAAM,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;oBACxC,qCAAqC;oBACrC,SAAS;gBACV,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;wBAClG,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC5B,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CAAC;gBAC3E,CAAC;qBAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,oBAAoB;gBAClD,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEM,kBAAkB,CAAC,uBAAmC,EAAE,IAAuB;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACnF,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;gBACjC,SAAS;YACV,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnB,SAAS,CAAC,oBAAoB;YAC/B,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,sBAAS,EAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE,uBAAuB,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACvC,SAAS;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACpJ,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,OAAO,CAAC,GAAW;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;CACD"}
@@ -88,6 +88,17 @@ export declare class NextEditProvider extends Disposable implements INextEditPro
88
88
  private _cancelPendingRequestDueToDocChange;
89
89
  getNextEdit(docId: DocumentId, context: NESInlineCompletionContext, logContext: InlineEditRequestLogContext, cancellationToken: CancellationToken, telemetryBuilder: LlmNESTelemetryBuilder): Promise<NextEditResult>;
90
90
  private _getNextEditCanThrow;
91
+ /**
92
+ * Cross-file NES: when the first streamed edit targets a document other than the active
93
+ * one, also cache an `activeDoc (content + edit window) -> suggestion-in-targetDoc`
94
+ * association. This lets the cross-file suggestion be re-served from cache while the cursor
95
+ * is still in the active document (the regular path only caches it under the target
96
+ * document, which is reachable from cache only after the user jumps there).
97
+ *
98
+ * The entry is stored without `userEditSince`, so it is never tracked/rebased: its edit is
99
+ * in the target document's coordinate space and is served by exact content match only.
100
+ */
101
+ private _maybeCacheCrossFileEditUnderActiveDoc;
91
102
  private determineNesConfigs;
92
103
  private _processDoc;
93
104
  private fetchNextEdit;
@@ -1 +1 @@
1
- {"version":3,"file":"nextEditProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextEditProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,7 @@ function createDocStateLookupMap(projectedDocuments, xtabEditHistory) {
95
95
  docContents: baseDocState,
96
96
  editsSoFar: stringEdit_1.StringEdit.empty,
97
97
  nextEdits: [],
98
+ patchIndices: [],
98
99
  docId: id,
99
100
  };
100
101
  }
@@ -106,11 +107,28 @@ function createDocStateLookupMap(projectedDocuments, xtabEditHistory) {
106
107
  docContents: doc.documentAfterEdits,
107
108
  editsSoFar: stringEdit_1.StringEdit.empty,
108
109
  nextEdits: [],
110
+ patchIndices: [],
109
111
  docId: id,
110
112
  };
111
113
  });
112
114
  return statePerDoc;
113
115
  }
116
+ /**
117
+ * Computes the originating model-patch index for a served edit. In the rebase path
118
+ * the served edit is addressed by `rebasedEditIndex` into the entry's bundled
119
+ * `patchIndices`; otherwise the entry carries its own `patchIndex`.
120
+ *
121
+ * Invariant: `rebasedEditIndex` is only ever set for entry 0 (the sole entry given a
122
+ * `patchIndices` bundle), so whenever it is defined `patchIndices` is defined too.
123
+ * We therefore deliberately do NOT fall back to `patchIndex` in the rebase branch: a
124
+ * served bundle slot of `undefined` is a genuine "no originating patch" attribution
125
+ * and must not be masked by entry 0's own patch index.
126
+ */
127
+ function getSourcePatchIndex(cachedEdit) {
128
+ return cachedEdit.rebasedEditIndex !== undefined
129
+ ? cachedEdit.patchIndices?.[cachedEdit.rebasedEditIndex]
130
+ : cachedEdit.patchIndex;
131
+ }
114
132
  var NesOutcome;
115
133
  (function (NesOutcome) {
116
134
  NesOutcome["Accepted"] = "accepted";
@@ -229,7 +247,7 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
229
247
  const documentAtInvocationTime = doc.value.get();
230
248
  const selections = doc.selection.get();
231
249
  const nesConfigs = this.determineNesConfigs(telemetryBuilder, logContext);
232
- const cachedEdit = this._nextEditCache.lookupNextEdit(docId, documentAtInvocationTime, selections);
250
+ let cachedEdit = this._nextEditCache.lookupNextEdit(docId, documentAtInvocationTime, selections);
233
251
  if (cachedEdit?.rejected) {
234
252
  logger.trace('cached edit was previously rejected');
235
253
  telemetryBuilder.setStatus('previouslyRejectedCache');
@@ -242,6 +260,24 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
242
260
  const nextEditResult = new nextEditResult_1.NextEditResult(logContext.requestId, cachedEdit.source, undefined);
243
261
  return nextEditResult;
244
262
  }
263
+ // Cross-file cache hit validity: a cross-file entry is keyed under the active document but
264
+ // carries an edit for a *different* target document. It can only be served while that
265
+ // target document is open AND still byte-identical to the snapshot the edit's offsets
266
+ // index into. If the target is closed, changed, or the snapshot is missing, the cached
267
+ // edit cannot be safely placed — so treat it as a cache miss and fall through to a fresh
268
+ // fetch. Returning "no edit" instead would keep re-serving this dead entry (still keyed
269
+ // under the unchanged active document) on every retrigger until the active document is
270
+ // edited, starving the active file of suggestions.
271
+ if (cachedEdit && cachedEdit.targetDocId && cachedEdit.targetDocId !== docId) {
272
+ const targetDoc = this._workspace.getDocument(cachedEdit.targetDocId);
273
+ const isUsable = !!targetDoc
274
+ && !!cachedEdit.targetDocumentBeforeEdit
275
+ && targetDoc.value.get().value === cachedEdit.targetDocumentBeforeEdit.value;
276
+ if (!isUsable) {
277
+ logger.trace(`cross-file cached edit unusable (target ${targetDoc ? 'changed' : 'not open'}); treating as cache miss and refetching`);
278
+ cachedEdit = undefined;
279
+ }
280
+ }
245
281
  let edit;
246
282
  let currentDocument;
247
283
  let error;
@@ -262,10 +298,21 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
262
298
  isFromSpeculativeRequest = cachedEdit.source.isSpeculative;
263
299
  req = cachedEdit.source;
264
300
  logContext.setIsCachedResult(cachedEdit.source.log);
265
- currentDocument = documentAtInvocationTime;
301
+ // A cross-file cached entry is keyed and gated under the active document, but its
302
+ // edit applies to a different (target) document. Its validity (target document open
303
+ // and unchanged) was confirmed above, so serve it against the target's live content.
304
+ targetDocumentId = cachedEdit.targetDocId ?? targetDocumentId;
305
+ if (cachedEdit.targetDocId && cachedEdit.targetDocId !== docId) {
306
+ currentDocument = this._workspace.getDocument(cachedEdit.targetDocId).value.get();
307
+ }
308
+ else {
309
+ currentDocument = documentAtInvocationTime;
310
+ }
266
311
  telemetryBuilder.setHeaderRequestId(req.headerRequestId);
267
312
  telemetryBuilder.setIsFromCache();
268
313
  telemetryBuilder.setSubsequentEditOrder(cachedEdit.rebasedEditIndex ?? cachedEdit.subsequentN);
314
+ // Attribute the served edit to its originating model patch.
315
+ telemetryBuilder.setSourcePatchIndex(getSourcePatchIndex(cachedEdit));
269
316
  // back-date the recording bookmark of the cached edit to the bookmark of the original request.
270
317
  logContext.recordingBookmark = req.log.recordingBookmark;
271
318
  cacheEntry = cachedEdit.baseCacheEntry ?? cachedEdit;
@@ -311,6 +358,8 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
311
358
  edit = { actualEdit: suggestedNextEdit, isFromCursorJump: result.val.isFromCursorJump };
312
359
  isFromSpeculativeRequest = result.val.isFromSpeculativeRequest ?? false;
313
360
  cacheEntry = result.val.baseCacheEntry ?? result.val;
361
+ // Attribute the served (first/fresh) edit to its originating model patch.
362
+ telemetryBuilder.setSourcePatchIndex(getSourcePatchIndex(result.val));
314
363
  }
315
364
  }
316
365
  }
@@ -366,6 +415,25 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
366
415
  logger.trace('returning next edit result');
367
416
  return nextEditResult;
368
417
  }
418
+ /**
419
+ * Cross-file NES: when the first streamed edit targets a document other than the active
420
+ * one, also cache an `activeDoc (content + edit window) -> suggestion-in-targetDoc`
421
+ * association. This lets the cross-file suggestion be re-served from cache while the cursor
422
+ * is still in the active document (the regular path only caches it under the target
423
+ * document, which is reachable from cache only after the user jumps there).
424
+ *
425
+ * The entry is stored without `userEditSince`, so it is never tracked/rebased: its edit is
426
+ * in the target document's coordinate space and is served by exact content match only.
427
+ */
428
+ _maybeCacheCrossFileEditUnderActiveDoc(ithEdit, activeDocId, activeDocContents, activeDocEditWindow, targetDocId, targetDocContents, nextEdit, streamedEdit, source) {
429
+ if (ithEdit !== 0 || targetDocId === activeDocId) {
430
+ return false; // only the first streamed edit, and only when it targets a different document
431
+ }
432
+ this._nextEditCache.setKthNextEdit(activeDocId, activeDocContents, activeDocEditWindow, nextEdit, 0, undefined, // no bundled edits: served by exact content match only
433
+ undefined, // no userEditSince: never tracked/rebased (edit is in target-doc coords)
434
+ source, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, patchIndex: streamedEdit.patchIndex, targetDocId, targetDocumentBeforeEdit: targetDocContents });
435
+ return true;
436
+ }
369
437
  determineNesConfigs(telemetryBuilder, logContext) {
370
438
  const nesConfigs = {
371
439
  isAsyncCompletions: this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAsyncCompletions, this._expService),
@@ -560,6 +628,10 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
560
628
  const statePerDoc = createDocStateLookupMap(projectedDocuments, xtabEditHistory);
561
629
  const editStream = this._statelessNextEditProvider.provideNextEdit(nextEditRequest, logger, logContext, nextEditRequest.cancellationTokenSource.token);
562
630
  let ithEdit = -1;
631
+ // Tracks whether this stream stored a cross-file suggestion under the active document.
632
+ // When it did, the active document must NOT be cached as "no edit" at stream end —
633
+ // that would clobber the cross-file entry stored under the same key.
634
+ let didCacheCrossFileActiveDocEntry = false;
563
635
  const processEdit = (streamedEdit, telemetry) => {
564
636
  ++ithEdit;
565
637
  const myLogger = logger.createSubLogger('processEdit');
@@ -591,8 +663,10 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
591
663
  // populate the cache
592
664
  const nextEditReplacement = rebasedEdit.replacements[0];
593
665
  targetDocState.nextEdits.push(nextEditReplacement);
594
- cachedEdit = this._nextEditCache.setKthNextEdit(targetDocState.docId, targetDocState.docContents, ithEdit === 0 ? streamedEdit.window : undefined, nextEditReplacement, ithEdit, ithEdit === 0 ? targetDocState.nextEdits : undefined, ithEdit === 0 ? nextEditRequest.intermediateUserEdit : undefined, req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, cursorOffset: targetDocState.docId === curDocId ? activeDocSelection?.start : undefined });
666
+ targetDocState.patchIndices.push(streamedEdit.patchIndex);
667
+ cachedEdit = this._nextEditCache.setKthNextEdit(targetDocState.docId, targetDocState.docContents, ithEdit === 0 ? streamedEdit.window : undefined, nextEditReplacement, ithEdit, ithEdit === 0 ? targetDocState.nextEdits : undefined, ithEdit === 0 ? nextEditRequest.intermediateUserEdit : undefined, req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, cursorOffset: targetDocState.docId === curDocId ? activeDocSelection?.start : undefined, patchIndex: streamedEdit.patchIndex, patchIndices: ithEdit === 0 ? targetDocState.patchIndices : undefined });
595
668
  myLogger.trace(`populated cache for ${ithEdit}`);
669
+ didCacheCrossFileActiveDocEntry = this._maybeCacheCrossFileEditUnderActiveDoc(ithEdit, curDocId, nextEditRequest.documentBeforeEdits, streamedEdit.window, targetDocState.docId, targetDocState.docContents, nextEditReplacement, streamedEdit, req) || didCacheCrossFileActiveDocEntry;
596
670
  }
597
671
  if (!firstEdit.isSettled) {
598
672
  myLogger.trace('resolving firstEdit promise');
@@ -615,7 +689,9 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
615
689
  }
616
690
  else {
617
691
  myLogger.trace(`no edit, reason: ${completionReason.kind}`);
618
- if (completionReason instanceof statelessNextEditProvider_1.NoNextEditReason.NoSuggestions) {
692
+ // Skip caching a "no edit" entry for the active document when a cross-file
693
+ // suggestion was already stored under the same key — doing so would clobber it.
694
+ if (completionReason instanceof statelessNextEditProvider_1.NoNextEditReason.NoSuggestions && !didCacheCrossFileActiveDocEntry) {
619
695
  const { documentBeforeEdits, window } = completionReason;
620
696
  const reducedWindow = window ? computeReducedWindow(window, activeDocSelection, documentBeforeEdits) : undefined;
621
697
  this._nextEditCache.setNoNextEdit(curDocId, documentBeforeEdits, reducedWindow, req);
@@ -1012,9 +1088,11 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
1012
1088
  if (rebasedEdit.replacements.length === 1) {
1013
1089
  const nextEditReplacement = rebasedEdit.replacements[0];
1014
1090
  targetDocState.nextEdits.push(nextEditReplacement);
1091
+ targetDocState.patchIndices.push(streamedEdit.patchIndex);
1015
1092
  // Populate the cache with the speculative result
1016
1093
  const cachedEdit = this._nextEditCache.setKthNextEdit(targetDocState.docId, targetDocState.docContents, ithEdit === 0 ? streamedEdit.window : undefined, nextEditReplacement, ithEdit, ithEdit === 0 ? targetDocState.nextEdits : undefined, undefined, // no userEditSince for speculative
1017
- req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, cursorOffset: targetDocState.docId === curDocId ? cursorOffset : undefined });
1094
+ req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, cursorOffset: targetDocState.docId === curDocId ? cursorOffset : undefined, patchIndex: streamedEdit.patchIndex, patchIndices: ithEdit === 0 ? targetDocState.patchIndices : undefined });
1095
+ this._maybeCacheCrossFileEditUnderActiveDoc(ithEdit, curDocId, nextEditRequest.documentBeforeEdits, streamedEdit.window, targetDocState.docId, targetDocState.docContents, nextEditReplacement, streamedEdit, req);
1018
1096
  if (!nextEditRequest.firstEdit.isSettled && cachedEdit) {
1019
1097
  nextEditRequest.firstEdit.complete(result_1.Result.ok(cachedEdit));
1020
1098
  nextEditRequest.setResult(new statelessNextEditProvider_1.StatelessNextEditResult(result_1.Result.ok(undefined), res.value.telemetryBuilder));