@vscode/chat-lib 0.3.1-21 → 0.3.1-23

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 (63) hide show
  1. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts +6 -0
  2. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts.map +1 -0
  3. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js +75 -0
  4. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js.map +1 -0
  5. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +13020 -362
  6. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +8 -232
  8. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  9. package/dist/src/_internal/extension/xtab/common/promptCraftingUtils.d.ts +4 -0
  10. package/dist/src/_internal/extension/xtab/common/promptCraftingUtils.d.ts.map +1 -0
  11. package/dist/src/_internal/extension/xtab/common/promptCraftingUtils.js +22 -0
  12. package/dist/src/_internal/extension/xtab/common/promptCraftingUtils.js.map +1 -0
  13. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +41 -0
  14. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -0
  15. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +375 -0
  16. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js.map +1 -0
  17. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  18. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +4 -2
  19. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  20. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +3 -0
  21. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  22. package/dist/src/_internal/platform/configuration/common/configurationService.js +4 -1
  23. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  24. package/dist/src/_internal/platform/endpoint/common/compactionDataContainer.d.ts +17 -0
  25. package/dist/src/_internal/platform/endpoint/common/compactionDataContainer.d.ts.map +1 -0
  26. package/dist/src/_internal/platform/endpoint/common/compactionDataContainer.js +37 -0
  27. package/dist/src/_internal/platform/endpoint/common/compactionDataContainer.js.map +1 -0
  28. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  29. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +56 -1
  30. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  31. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +12 -0
  32. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  33. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +14 -1
  34. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  35. package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.d.ts +2 -0
  36. package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.d.ts.map +1 -1
  37. package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.js +4 -0
  38. package/dist/src/_internal/platform/inlineEdits/common/inlineEditsModelService.js.map +1 -1
  39. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts +9 -2
  40. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts.map +1 -1
  41. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +65 -54
  42. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js.map +1 -1
  43. package/dist/src/_internal/platform/networking/common/fetch.d.ts +4 -2
  44. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  45. package/dist/src/_internal/platform/networking/common/fetch.js +9 -0
  46. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  47. package/dist/src/_internal/platform/networking/common/networking.d.ts +2 -2
  48. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  49. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  50. package/dist/src/_internal/platform/networking/common/openai.d.ts +11 -0
  51. package/dist/src/_internal/platform/networking/common/openai.d.ts.map +1 -1
  52. package/dist/src/_internal/platform/networking/common/openai.js +3 -1
  53. package/dist/src/_internal/platform/networking/common/openai.js.map +1 -1
  54. package/dist/src/_internal/util/common/arrays.d.ts +5 -0
  55. package/dist/src/_internal/util/common/arrays.d.ts.map +1 -1
  56. package/dist/src/_internal/util/common/arrays.js +10 -0
  57. package/dist/src/_internal/util/common/arrays.js.map +1 -1
  58. package/dist/src/_internal/util/common/result.d.ts +34 -10
  59. package/dist/src/_internal/util/common/result.d.ts.map +1 -1
  60. package/dist/src/_internal/util/common/result.js +91 -2
  61. package/dist/src/_internal/util/common/result.js.map +1 -1
  62. package/dist/src/package.json +52 -4
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"promptCrafting.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptCrafting.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDD"}
@@ -39,26 +39,22 @@ var __importStar = (this && this.__importStar) || (function () {
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.N_LINES_AS_CONTEXT = exports.N_LINES_BELOW = exports.N_LINES_ABOVE = exports.PromptPieces = void 0;
41
41
  exports.getUserPrompt = getUserPrompt;
42
- exports.toUniquePath = toUniquePath;
43
- exports.buildCodeSnippetsUsingPagedClipping = buildCodeSnippetsUsingPagedClipping;
44
- exports.countTokensForLines = countTokensForLines;
45
42
  exports.truncateCode = truncateCode;
46
43
  exports.expandRangeToPageRange = expandRangeToPageRange;
47
44
  exports.clipPreservingRange = clipPreservingRange;
48
45
  exports.createTaggedCurrentFileContentUsingPagedClipping = createTaggedCurrentFileContentUsingPagedClipping;
49
46
  exports.constructTaggedFile = constructTaggedFile;
50
- const documentId_1 = require("../../../platform/inlineEdits/common/dataTypes/documentId");
51
- const edit_1 = require("../../../platform/inlineEdits/common/dataTypes/edit");
52
47
  const xtabPromptOptions = __importStar(require("../../../platform/inlineEdits/common/dataTypes/xtabPromptOptions"));
53
48
  const xtabPromptOptions_1 = require("../../../platform/inlineEdits/common/dataTypes/xtabPromptOptions");
54
49
  const languageContextService_1 = require("../../../platform/languageServer/common/languageContextService");
55
50
  const result_1 = require("../../../util/common/result");
56
51
  const arrays_1 = require("../../../util/vs/base/common/arrays");
57
52
  const assert_1 = require("../../../util/vs/base/common/assert");
58
- const errors_1 = require("../../../util/vs/base/common/errors");
59
- const network_1 = require("../../../util/vs/base/common/network");
60
53
  const stringEdit_1 = require("../../../util/vs/editor/common/core/edits/stringEdit");
61
54
  const offsetRange_1 = require("../../../util/vs/editor/common/core/ranges/offsetRange");
55
+ const diffHistoryForPrompt_1 = require("./diffHistoryForPrompt");
56
+ const promptCraftingUtils_1 = require("./promptCraftingUtils");
57
+ const recentFilesForPrompt_1 = require("./recentFilesForPrompt");
62
58
  const tags_1 = require("./tags");
63
59
  class PromptPieces {
64
60
  constructor(currentDocument, editWindowLinesRange, areaAroundEditWindowLinesRange, activeDoc, xtabHistory, taggedCurrentDocLines, areaAroundCodeToEdit, langCtx, aggressivenessLevel, lintErrors, computeTokens, opts) {
@@ -80,11 +76,11 @@ exports.PromptPieces = PromptPieces;
80
76
  function getUserPrompt(promptPieces) {
81
77
  const { activeDoc, xtabHistory, taggedCurrentDocLines, areaAroundCodeToEdit, langCtx, aggressivenessLevel, lintErrors, computeTokens, opts } = promptPieces;
82
78
  const currentFileContent = taggedCurrentDocLines.join('\n');
83
- const { codeSnippets: recentlyViewedCodeSnippets, documents: docsInPrompt } = getRecentCodeSnippets(activeDoc, xtabHistory, langCtx, computeTokens, opts);
79
+ const { codeSnippets: recentlyViewedCodeSnippets, documents: docsInPrompt } = (0, recentFilesForPrompt_1.getRecentCodeSnippets)(activeDoc, xtabHistory, langCtx, computeTokens, opts);
84
80
  docsInPrompt.add(activeDoc.id); // Add active document to the set of documents in prompt
85
- const editDiffHistory = getEditDiffHistory(activeDoc, xtabHistory, docsInPrompt, computeTokens, opts.diffHistory);
81
+ const editDiffHistory = (0, diffHistoryForPrompt_1.getEditDiffHistory)(activeDoc, xtabHistory, docsInPrompt, computeTokens, opts.diffHistory);
86
82
  const relatedInformation = getRelatedInformation(langCtx);
87
- const currentFilePath = toUniquePath(activeDoc.id, activeDoc.workspaceRoot?.path);
83
+ const currentFilePath = (0, promptCraftingUtils_1.toUniquePath)(activeDoc.id, activeDoc.workspaceRoot?.path);
88
84
  const postScript = promptPieces.opts.includePostScript ? getPostScript(opts.promptingStrategy, currentFilePath, aggressivenessLevel) : '';
89
85
  const lintsWithNewLinePadding = opts.lintOptions ? `\n${lintErrors.getFormattedLintErrors(opts.lintOptions)}\n` : '';
90
86
  const basePrompt = `${tags_1.PromptTags.RECENT_FILES.start}
@@ -192,226 +188,6 @@ function getRelatedInformation(langCtx) {
192
188
  }
193
189
  return `Consider this related information:\n${relatedInformation.join('\n')}`;
194
190
  }
195
- function getEditDiffHistory(activeDoc, xtabHistory, docsInPrompt, computeTokens, { onlyForDocsInPrompt, maxTokens, nEntries, useRelativePaths }) {
196
- const workspacePath = useRelativePaths ? activeDoc.workspaceRoot?.path : undefined;
197
- const reversedHistory = xtabHistory.slice().reverse();
198
- let tokenBudget = maxTokens;
199
- const allDiffs = [];
200
- // we traverse in reverse (ie from most recent to least recent) because we may terminate early due to token-budget overflow
201
- for (const entry of reversedHistory) {
202
- if (allDiffs.length >= nEntries) { // we've reached the maximum number of entries
203
- break;
204
- }
205
- if (entry.kind === 'visibleRanges') {
206
- continue;
207
- }
208
- if (onlyForDocsInPrompt && !docsInPrompt.has(entry.docId)) {
209
- continue;
210
- }
211
- const docDiff = generateDocDiff(entry, workspacePath);
212
- if (docDiff === null) {
213
- continue;
214
- }
215
- const tokenCount = computeTokens(docDiff);
216
- tokenBudget -= tokenCount;
217
- if (tokenBudget < 0) {
218
- break;
219
- }
220
- else {
221
- allDiffs.push(docDiff);
222
- }
223
- }
224
- const diffsFromOldestToNewest = allDiffs.reverse();
225
- let promptPiece = diffsFromOldestToNewest.join('\n\n');
226
- // to preserve old behavior where we always had trailing whitespace
227
- if (diffsFromOldestToNewest.length > 0) {
228
- promptPiece += '\n';
229
- }
230
- return promptPiece;
231
- }
232
- function generateDocDiff(entry, workspacePath) {
233
- const docDiffLines = [];
234
- const lineEdit = edit_1.RootedEdit.toLineEdit(entry.edit);
235
- for (const singleLineEdit of lineEdit.replacements) {
236
- const oldLines = entry.edit.base.getLines().slice(singleLineEdit.lineRange.startLineNumber - 1, singleLineEdit.lineRange.endLineNumberExclusive - 1);
237
- const newLines = singleLineEdit.newLines;
238
- if (oldLines.filter(x => x.trim().length > 0).length === 0 && newLines.filter(x => x.trim().length > 0).length === 0) {
239
- // skip over a diff which would only contain -/+ without any content
240
- continue;
241
- }
242
- const startLineNumber = singleLineEdit.lineRange.startLineNumber - 1;
243
- docDiffLines.push(`@@ -${startLineNumber},${oldLines.length} +${startLineNumber},${newLines.length} @@`);
244
- (0, arrays_1.pushMany)(docDiffLines, oldLines.map(x => `-${x}`));
245
- (0, arrays_1.pushMany)(docDiffLines, newLines.map(x => `+${x}`));
246
- }
247
- if (docDiffLines.length === 0) {
248
- return null;
249
- }
250
- const uniquePath = toUniquePath(entry.docId, workspacePath);
251
- const docDiffArr = [
252
- `--- ${uniquePath}`,
253
- `+++ ${uniquePath}`,
254
- ];
255
- (0, arrays_1.pushMany)(docDiffArr, docDiffLines);
256
- const docDiff = docDiffArr.join('\n');
257
- return docDiff;
258
- }
259
- function toUniquePath(documentId, workspaceRootPath) {
260
- const filePath = documentId.path;
261
- // remove prefix from path if defined
262
- const workspaceRootPathWithSlash = workspaceRootPath === undefined ? undefined : (workspaceRootPath.endsWith('/') ? workspaceRootPath : workspaceRootPath + '/');
263
- const updatedFilePath = workspaceRootPathWithSlash !== undefined && filePath.startsWith(workspaceRootPathWithSlash)
264
- ? filePath.substring(workspaceRootPathWithSlash.length)
265
- : filePath;
266
- return documentId.toUri().scheme === network_1.Schemas.vscodeNotebookCell ? `${updatedFilePath}#${documentId.fragment}` : updatedFilePath;
267
- }
268
- function formatCodeSnippet(documentId, lines, opts) {
269
- const filePath = toUniquePath(documentId, undefined);
270
- const firstLine = opts.truncated
271
- ? `code_snippet_file_path: ${filePath} (truncated)`
272
- : `code_snippet_file_path: ${filePath}`;
273
- let formattedLines;
274
- switch (opts.includeLineNumbers) {
275
- case xtabPromptOptions.IncludeLineNumbersOption.WithSpaceAfter:
276
- formattedLines = lines.map((line, idx) => `${opts.startLineOffset + idx}| ${line}`);
277
- break;
278
- case xtabPromptOptions.IncludeLineNumbersOption.WithoutSpace:
279
- formattedLines = lines.map((line, idx) => `${opts.startLineOffset + idx}|${line}`);
280
- break;
281
- case xtabPromptOptions.IncludeLineNumbersOption.None:
282
- formattedLines = lines;
283
- break;
284
- default:
285
- (0, assert_1.assertNever)(opts.includeLineNumbers);
286
- }
287
- const fileContent = formattedLines.join('\n');
288
- return [tags_1.PromptTags.RECENT_FILE.start, firstLine, fileContent, tags_1.PromptTags.RECENT_FILE.end].join('\n');
289
- }
290
- function getRecentCodeSnippets(activeDoc, xtabHistory, langCtx, computeTokens, opts) {
291
- const { includeViewedFiles, nDocuments } = opts.recentlyViewedDocuments;
292
- // get last documents besides active document
293
- // enforces the option to include/exclude viewed files
294
- const docsBesidesActiveDoc = []; // from most to least recent
295
- for (let i = xtabHistory.length - 1, seenDocuments = new Set(); i >= 0; --i) {
296
- const entry = xtabHistory[i];
297
- if (!includeViewedFiles && entry.kind === 'visibleRanges') {
298
- continue;
299
- }
300
- if (entry.docId === activeDoc.id || seenDocuments.has(entry.docId)) {
301
- continue;
302
- }
303
- docsBesidesActiveDoc.push(entry);
304
- seenDocuments.add(entry.docId);
305
- if (docsBesidesActiveDoc.length >= nDocuments) {
306
- break;
307
- }
308
- }
309
- const recentlyViewedCodeSnippets = docsBesidesActiveDoc.map(d => ({
310
- id: d.docId,
311
- content: d.kind === 'edit'
312
- ? d.edit.edit.applyOnText(d.edit.base) // FIXME@ulugbekna: I don't like this being computed afresh
313
- : d.documentContent,
314
- visibleRanges: d.kind === 'visibleRanges' ? d.visibleRanges : undefined, // is set only if the entry was a 'visibleRanges' entry
315
- }));
316
- const { snippets, docsInPrompt } = buildCodeSnippetsUsingPagedClipping(recentlyViewedCodeSnippets, computeTokens, opts);
317
- let tokenBudget = opts.languageContext.maxTokens;
318
- if (langCtx) {
319
- for (const langCtxEntry of langCtx.items) {
320
- // Context which is provided on timeout is not guranteed to be good context
321
- // TODO should these be included?
322
- if (langCtxEntry.onTimeout) {
323
- continue;
324
- }
325
- const ctx = langCtxEntry.context;
326
- // TODO@ulugbekna: currently we only include snippets
327
- // TODO@ulugbekna: are the snippets sorted by priority?
328
- if (ctx.kind === languageContextService_1.ContextKind.Snippet) {
329
- const langCtxSnippet = ctx.value;
330
- const potentialBudget = tokenBudget - computeTokens(langCtxSnippet);
331
- if (potentialBudget < 0) {
332
- break;
333
- }
334
- const filePath = ctx.uri;
335
- const documentId = documentId_1.DocumentId.create(filePath.toString());
336
- const langCtxItemSnippet = formatCodeSnippet(documentId, langCtxSnippet.split(/\r?\n/), { truncated: false, includeLineNumbers: opts.recentlyViewedDocuments.includeLineNumbers, startLineOffset: 0 });
337
- snippets.push(langCtxItemSnippet);
338
- tokenBudget = potentialBudget;
339
- }
340
- }
341
- }
342
- return {
343
- codeSnippets: snippets.join('\n\n'),
344
- documents: docsInPrompt,
345
- };
346
- }
347
- /**
348
- * Build code snippets using paged clipping.
349
- *
350
- * @param recentlyViewedCodeSnippets List of recently viewed code snippets from most to least recent
351
- */
352
- function buildCodeSnippetsUsingPagedClipping(recentlyViewedCodeSnippets, computeTokens, opts) {
353
- const pageSize = opts.pagedClipping?.pageSize;
354
- if (pageSize === undefined) {
355
- throw (0, errors_1.illegalArgument)('Page size must be defined');
356
- }
357
- const snippets = [];
358
- const docsInPrompt = new Set();
359
- let maxTokenBudget = opts.recentlyViewedDocuments.maxTokens;
360
- for (const file of recentlyViewedCodeSnippets) {
361
- const lines = file.content.getLines();
362
- const pages = batchArrayElements(lines, pageSize);
363
- // TODO@ulugbekna: we don't count in tokens for code snippet header
364
- if (file.visibleRanges === undefined) {
365
- let allowedBudget = maxTokenBudget;
366
- const linesToKeep = [];
367
- for (const page of pages) {
368
- const allowedBudgetLeft = allowedBudget - countTokensForLines(page, computeTokens);
369
- if (allowedBudgetLeft < 0) {
370
- break;
371
- }
372
- linesToKeep.push(...page);
373
- allowedBudget = allowedBudgetLeft;
374
- }
375
- if (linesToKeep.length > 0) {
376
- const isTruncated = linesToKeep.length !== lines.length;
377
- docsInPrompt.add(file.id);
378
- snippets.push(formatCodeSnippet(file.id, linesToKeep, { truncated: isTruncated, includeLineNumbers: opts.recentlyViewedDocuments.includeLineNumbers, startLineOffset: 0 }));
379
- }
380
- maxTokenBudget = allowedBudget;
381
- }
382
- else { // join visible ranges by taking a union, convert to lines, map those lines to pages, expand pages above and below as long as the new pages fit into the budget
383
- const visibleRanges = file.visibleRanges;
384
- const startOffset = Math.min(...visibleRanges.map(range => range.start));
385
- const endOffset = Math.max(...visibleRanges.map(range => range.endExclusive - 1));
386
- const contentTransform = file.content.getTransformer();
387
- const startPos = contentTransform.getPosition(startOffset);
388
- const endPos = contentTransform.getPosition(endOffset);
389
- const { firstPageIdx, lastPageIdxIncl, budgetLeft } = expandRangeToPageRange(file.content.getLines(), new offsetRange_1.OffsetRange(startPos.lineNumber - 1 /* convert from 1-based to 0-based */, endPos.lineNumber), pageSize, maxTokenBudget, computeTokens, false);
390
- if (budgetLeft === maxTokenBudget) {
391
- break;
392
- }
393
- else {
394
- const startLineOffset = firstPageIdx * pageSize;
395
- const linesToKeep = file.content.getLines().slice(startLineOffset, (lastPageIdxIncl + 1) * pageSize);
396
- docsInPrompt.add(file.id);
397
- snippets.push(formatCodeSnippet(file.id, linesToKeep, { truncated: linesToKeep.length < lines.length, includeLineNumbers: opts.recentlyViewedDocuments.includeLineNumbers, startLineOffset }));
398
- maxTokenBudget = budgetLeft;
399
- }
400
- }
401
- }
402
- return { snippets: snippets.reverse(), docsInPrompt };
403
- }
404
- function countTokensForLines(page, computeTokens) {
405
- return page.reduce((sum, line) => sum + computeTokens(line) + 1 /* \n */, 0);
406
- }
407
- /**
408
- * Last batch may not match batch size.
409
- */
410
- function* batchArrayElements(array, batchSize) {
411
- for (let i = 0; i < array.length; i += batchSize) {
412
- yield array.slice(i, i + batchSize);
413
- }
414
- }
415
191
  function truncateCode(lines, fromBeginning, maxTokens) {
416
192
  if (!lines.length) {
417
193
  return [0, 0];
@@ -450,7 +226,7 @@ function expandRangeToPageRange(currentDocLines, areaAroundEditWindowLinesRange,
450
226
  const start = kthPage * pageSize;
451
227
  const end = Math.min(start + pageSize, currentDocLines.length);
452
228
  const page = currentDocLines.slice(start, end);
453
- return countTokensForLines(page, computeTokens);
229
+ return (0, promptCraftingUtils_1.countTokensForLines)(page, computeTokens);
454
230
  }
455
231
  // [0, pageSize) -> 0, [pageSize, 2*pageSize) -> 1, ...
456
232
  // eg 5 -> 0, 63 -> 6
@@ -511,7 +287,7 @@ function expandRangeToPageRange(currentDocLines, areaAroundEditWindowLinesRange,
511
287
  function clipPreservingRange(docLines, rangeToPreserve, computeTokens, pageSize, opts) {
512
288
  // subtract budget consumed by rangeToPreserve
513
289
  const linesToPreserve = docLines.slice(rangeToPreserve.start, rangeToPreserve.endExclusive);
514
- const availableTokenBudget = opts.maxTokens - countTokensForLines(linesToPreserve, computeTokens);
290
+ const availableTokenBudget = opts.maxTokens - (0, promptCraftingUtils_1.countTokensForLines)(linesToPreserve, computeTokens);
515
291
  if (availableTokenBudget < 0) {
516
292
  return result_1.Result.error('outOfBudget');
517
293
  }
@@ -1 +1 @@
1
- {"version":3,"file":"promptCrafting.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptCrafting.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DocumentId } from '../../../platform/inlineEdits/common/dataTypes/documentId';
2
+ export declare function toUniquePath(documentId: DocumentId, workspaceRootPath: string | undefined): string;
3
+ export declare function countTokensForLines(page: string[], computeTokens: (s: string) => number): number;
4
+ //# sourceMappingURL=promptCraftingUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptCraftingUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCraftingUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAGvF,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUlG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAEhG"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.toUniquePath = toUniquePath;
8
+ exports.countTokensForLines = countTokensForLines;
9
+ const network_1 = require("../../../util/vs/base/common/network");
10
+ function toUniquePath(documentId, workspaceRootPath) {
11
+ const filePath = documentId.path;
12
+ // remove prefix from path if defined
13
+ const workspaceRootPathWithSlash = workspaceRootPath === undefined ? undefined : (workspaceRootPath.endsWith('/') ? workspaceRootPath : workspaceRootPath + '/');
14
+ const updatedFilePath = workspaceRootPathWithSlash !== undefined && filePath.startsWith(workspaceRootPathWithSlash)
15
+ ? filePath.substring(workspaceRootPathWithSlash.length)
16
+ : filePath;
17
+ return documentId.toUri().scheme === network_1.Schemas.vscodeNotebookCell ? `${updatedFilePath}#${documentId.fragment}` : updatedFilePath;
18
+ }
19
+ function countTokensForLines(page, computeTokens) {
20
+ return page.reduce((sum, line) => sum + computeTokens(line) + 1 /* \n */, 0);
21
+ }
22
+ //# sourceMappingURL=promptCraftingUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptCraftingUtils.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCraftingUtils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAKhG,oCAUC;AAED,kDAEC;AAhBD,kEAA+D;AAE/D,SAAgB,YAAY,CAAC,UAAsB,EAAE,iBAAqC;IACzF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;IACjC,qCAAqC;IACrC,MAAM,0BAA0B,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;IAEjK,MAAM,eAAe,GAAG,0BAA0B,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;QAClH,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,0BAA0B,CAAC,MAAM,CAAC;QACvD,CAAC,CAAC,QAAQ,CAAC;IAEZ,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AACjI,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAc,EAAE,aAAoC;IACvF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { DocumentId } from '../../../platform/inlineEdits/common/dataTypes/documentId';
2
+ import { LanguageContextResponse } from '../../../platform/inlineEdits/common/dataTypes/languageContext';
3
+ import { PromptOptions } from '../../../platform/inlineEdits/common/dataTypes/xtabPromptOptions';
4
+ import { StatelessNextEditDocument } from '../../../platform/inlineEdits/common/statelessNextEditProvider';
5
+ import { IXtabHistoryEntry } from '../../../platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker';
6
+ import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
7
+ import { StringText } from '../../../util/vs/editor/common/core/text/abstractText';
8
+ export declare function getRecentCodeSnippets(activeDoc: StatelessNextEditDocument, xtabHistory: readonly IXtabHistoryEntry[], langCtx: LanguageContextResponse | undefined, computeTokens: (code: string) => number, opts: PromptOptions): {
9
+ codeSnippets: string;
10
+ documents: Set<DocumentId>;
11
+ };
12
+ type RecentCodeSnippet = {
13
+ readonly id: DocumentId;
14
+ readonly content: StringText;
15
+ readonly focalRanges?: readonly OffsetRange[];
16
+ readonly editEntryCount?: number;
17
+ };
18
+ /**
19
+ * Convert a group of history entries (all for the same document) into a single code snippet.
20
+ * Merges focal ranges from all edit entries so clipping can center on all edit locations.
21
+ *
22
+ * Focal ranges are only collected from edit entries — visibleRanges entries are skipped
23
+ * because their character offsets correspond to older document snapshots and cannot be
24
+ * reliably transformed to the current content's coordinate space.
25
+ *
26
+ * For older edit entries, their focal ranges are transformed forward through the chain
27
+ * of subsequent edits using {@link BaseStringEdit.applyToOffsetRange} so that they
28
+ * remain valid in the most recent content.
29
+ */
30
+ export declare function historyEntriesToCodeSnippet(entries: IXtabHistoryEntry[]): RecentCodeSnippet;
31
+ /**
32
+ * Build code snippets using paged clipping.
33
+ *
34
+ * @param recentlyViewedCodeSnippets List of recently viewed code snippets from most to least recent
35
+ */
36
+ export declare function buildCodeSnippetsUsingPagedClipping(recentlyViewedCodeSnippets: RecentCodeSnippet[], computeTokens: (s: string) => number, opts: PromptOptions): {
37
+ snippets: string[];
38
+ docsInPrompt: Set<DocumentId>;
39
+ };
40
+ export {};
41
+ //# sourceMappingURL=recentFilesForPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentFilesForPrompt.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/recentFilesForPrompt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AAEzG,OAAO,EAAE,aAAa,EAA8B,MAAM,kEAAkE,CAAC;AAC7H,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAyB,iBAAiB,EAAE,MAAM,iFAAiF,CAAC;AAK3I,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAKnF,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,yBAAyB,EACpC,WAAW,EAAE,SAAS,iBAAiB,EAAE,EACzC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAC5C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,IAAI,EAAE,aAAa,GACjB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;CAAE,CAwBtD;AAiHD,KAAK,iBAAiB,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAyBF;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAqC3F;AA+GD;;;;GAIG;AACH,wBAAgB,mCAAmC,CAClD,0BAA0B,EAAE,iBAAiB,EAAE,EAC/C,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACpC,IAAI,EAAE,aAAa,GACjB;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;CAAE,CAcvD"}