@vscode/chat-lib 0.0.4 → 0.0.5-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 (121) hide show
  1. package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts +9 -0
  2. package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js +136 -1
  4. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js.map +1 -1
  5. package/dist/src/_internal/extension/common/constants.d.ts +0 -1
  6. package/dist/src/_internal/extension/common/constants.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/common/constants.js +0 -1
  8. package/dist/src/_internal/extension/common/constants.js.map +1 -1
  9. package/dist/src/_internal/extension/inlineEdits/node/nesConfigs.d.ts +0 -4
  10. package/dist/src/_internal/extension/inlineEdits/node/nesConfigs.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +4 -2
  12. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  13. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +15 -8
  14. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js.map +1 -1
  15. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +0 -1
  16. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  17. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +9 -60
  18. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  19. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  20. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +7 -3
  21. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  22. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  23. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +46 -5
  24. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  25. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +25 -26
  26. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  27. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +47 -37
  28. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  29. package/dist/src/_internal/extension/xtab/common/xtabCurrentDocument.d.ts +16 -0
  30. package/dist/src/_internal/extension/xtab/common/xtabCurrentDocument.d.ts.map +1 -0
  31. package/dist/src/_internal/extension/xtab/common/xtabCurrentDocument.js +19 -0
  32. package/dist/src/_internal/extension/xtab/common/xtabCurrentDocument.js.map +1 -0
  33. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +22 -4
  34. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  35. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +361 -111
  36. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  37. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +1 -0
  38. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
  39. package/dist/src/_internal/platform/authentication/common/copilotToken.js +3 -0
  40. package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
  41. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts +13 -1
  42. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts.map +1 -1
  43. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +39 -9
  44. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
  45. package/dist/src/_internal/platform/chat/common/chatMLFetcher.d.ts +0 -1
  46. package/dist/src/_internal/platform/chat/common/chatMLFetcher.d.ts.map +1 -1
  47. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js +1 -1
  48. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js.map +1 -1
  49. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts.map +1 -1
  50. package/dist/src/_internal/platform/chat/common/commonTypes.js +3 -1
  51. package/dist/src/_internal/platform/chat/common/commonTypes.js.map +1 -1
  52. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +19 -11
  53. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  54. package/dist/src/_internal/platform/configuration/common/configurationService.js +21 -15
  55. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  56. package/dist/src/_internal/platform/configuration/common/validator.d.ts +6 -0
  57. package/dist/src/_internal/platform/configuration/common/validator.d.ts.map +1 -1
  58. package/dist/src/_internal/platform/configuration/common/validator.js +41 -4
  59. package/dist/src/_internal/platform/configuration/common/validator.js.map +1 -1
  60. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  61. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +10 -5
  62. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  63. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +2 -1
  64. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  65. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  66. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  67. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +2 -1
  68. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  69. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts +6 -0
  70. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  71. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +161 -3
  72. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  73. package/dist/src/_internal/platform/env/common/envService.d.ts +2 -0
  74. package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
  75. package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
  76. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +1 -0
  77. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
  78. package/dist/src/_internal/platform/env/common/nullEnvService.js +3 -0
  79. package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
  80. package/dist/src/_internal/platform/github/common/githubAPI.d.ts +67 -0
  81. package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
  82. package/dist/src/_internal/platform/github/common/githubAPI.js +120 -3
  83. package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
  84. package/dist/src/_internal/platform/github/common/githubService.d.ts +171 -1
  85. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  86. package/dist/src/_internal/platform/github/common/githubService.js +34 -1
  87. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  88. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +11 -0
  89. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  90. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +8 -1
  91. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  92. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +2 -2
  93. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  94. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +12 -2
  95. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  96. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +13 -0
  97. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  98. package/dist/src/_internal/platform/networking/common/fetch.d.ts +2 -1
  99. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  100. package/dist/src/_internal/platform/networking/common/fetch.js +1 -0
  101. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  102. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +2 -0
  103. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  104. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  105. package/dist/src/_internal/platform/networking/common/networking.d.ts +6 -2
  106. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  107. package/dist/src/_internal/platform/networking/common/networking.js +4 -3
  108. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  109. package/dist/src/_internal/platform/networking/node/stream.d.ts.map +1 -1
  110. package/dist/src/_internal/platform/networking/node/stream.js +5 -3
  111. package/dist/src/_internal/platform/networking/node/stream.js.map +1 -1
  112. package/dist/src/_internal/platform/openai/node/fetch.d.ts +2 -1
  113. package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
  114. package/dist/src/_internal/platform/openai/node/fetch.js +20 -20
  115. package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
  116. package/dist/src/_internal/util/common/cache.d.ts +1 -0
  117. package/dist/src/_internal/util/common/cache.d.ts.map +1 -1
  118. package/dist/src/_internal/util/common/cache.js +9 -0
  119. package/dist/src/_internal/util/common/cache.js.map +1 -1
  120. package/dist/src/package.json +225 -118
  121. package/package.json +3 -3
@@ -6,39 +6,40 @@ import { IXtabHistoryEntry } from '../../../platform/inlineEdits/common/workspac
6
6
  import { Result } from '../../../util/common/result';
7
7
  import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
8
8
  import { StringText } from '../../../util/vs/editor/common/core/text/abstractText';
9
+ import { CurrentDocument } from './xtabCurrentDocument';
9
10
  export declare namespace PromptTags {
10
- const CURSOR = "<|cursor|>";
11
- const EDIT_WINDOW: {
12
- start: string;
13
- end: string;
14
- };
15
- const AREA_AROUND: {
16
- start: string;
17
- end: string;
18
- };
19
- const CURRENT_FILE: {
20
- start: string;
21
- end: string;
22
- };
23
- const EDIT_HISTORY: {
24
- start: string;
25
- end: string;
26
- };
27
- const RECENT_FILES: {
28
- start: string;
29
- end: string;
30
- };
31
- const RECENT_FILE: {
11
+ export const CURSOR = "<|cursor|>";
12
+ type Tag = {
32
13
  start: string;
33
14
  end: string;
34
15
  };
16
+ export const EDIT_WINDOW: Tag;
17
+ export const AREA_AROUND: Tag;
18
+ export const CURRENT_FILE: Tag;
19
+ export const EDIT_HISTORY: Tag;
20
+ export const RECENT_FILES: Tag;
21
+ export const RECENT_FILE: Tag;
22
+ export {};
35
23
  }
36
24
  export declare const systemPromptTemplate: string;
37
25
  export declare const unifiedModelSystemPrompt = "Your role as an AI assistant is to help developers complete their code tasks by assisting in editing specific sections of code marked by the <|code_to_edit|> and <|/code_to_edit|> tags, while adhering to Microsoft's content policies and avoiding the creation of content that violates copyrights.\n\nYou have access to the following information to help you make informed suggestions:\n\n- recently_viewed_code_snippets: These are code snippets that the developer has recently looked at, which might provide context or examples relevant to the current task. They are listed from oldest to newest. It's possible these are entirely irrelevant to the developer's change.\n- current_file_content: The content of the file the developer is currently working on, providing the broader context of the code.\n- edit_diff_history: A record of changes made to the code, helping you understand the evolution of the code and the developer's intentions. These changes are listed from oldest to latest. It's possible a lot of old edit diff history is entirely irrelevant to the developer's change.\n- area_around_code_to_edit: The context showing the code surrounding the section to be edited.\n- cursor position marked as <|cursor|>: Indicates where the developer's cursor is currently located, which can be crucial for understanding what part of the code they are focusing on.\n\nYour task is to predict and complete the changes the developer would have made next in the <|code_to_edit|> section. The developer may have stopped in the middle of typing. Your goal is to keep the developer on the path that you think they're following. Some examples include further implementing a class, method, or variable, or improving the quality of the code. Make sure the developer doesn't get distracted and ensure your suggestion is relevant. Consider what changes need to be made next, if any. If you think changes should be made, ask yourself if this is truly what needs to happen. If you are confident about it, then proceed with the changes.\n\n# Steps\n\n1. **Review Context**: Analyze the context from the resources provided, such as recently viewed snippets, edit history, surrounding code, and cursor location.\n2. **Evaluate Current Code**: Determine if the current code within the tags requires any corrections or enhancements.\n3. **Suggest Edits**: If changes are required, ensure they align with the developer's patterns and improve code quality.\n4. **Maintain Consistency**: Ensure indentation and formatting follow the existing code style.\n\n# Output Format\n- Your response should start with the word <EDIT>, <INSERT>, or <NO_CHANGE>.\n- If your are making an edit, start with <EDIT>, then provide the rewritten code window, then </EDIT>.\n- If you are inserting new code, start with <INSERT> and then provide only the new code that will be inserted at the cursor position, then </INSERT>.\n- If no changes are necessary, reply only with <NO_CHANGE>.\n- Ensure that you do not output duplicate code that exists outside of these tags. The output should be the revised code that was between these tags and should not include the <|code_to_edit|> or <|/code_to_edit|> tags.\n\n# Notes\n\n- Apologize with \"Sorry, I can't assist with that.\" for requests that may breach Microsoft content guidelines.\n- Avoid undoing or reverting the developer's last change unless there are obvious typos or errors.";
38
26
  export declare const nes41Miniv3SystemPrompt = "Your role as an AI assistant is to help developers complete their code tasks by assisting in editing specific sections of code marked by the <|code_to_edit|> and <|/code_to_edit|> tags, while adhering to Microsoft's content policies and avoiding the creation of content that violates copyrights.\n\nYou have access to the following information to help you make informed suggestions:\n\n- recently_viewed_code_snippets: These are code snippets that the developer has recently looked at, which might provide context or examples relevant to the current task. They are listed from oldest to newest. It's possible these are entirely irrelevant to the developer's change.\n- current_file_content: The content of the file the developer is currently working on, providing the broader context of the code.\n- edit_diff_history: A record of changes made to the code, helping you understand the evolution of the code and the developer's intentions. These changes are listed from oldest to latest. It's possible a lot of old edit diff history is entirely irrelevant to the developer's change.\n- area_around_code_to_edit: The context showing the code surrounding the section to be edited.\n- cursor position marked as <|cursor|>: Indicates where the developer's cursor is currently located, which can be crucial for understanding what part of the code they are focusing on.\n\nYour task is to predict and complete the changes the developer would have made next in the <|code_to_edit|> section. The developer may have stopped in the middle of typing. Your goal is to keep the developer on the path that you think they're following. Some examples include further implementing a class, method, or variable, or improving the quality of the code. Make sure the developer doesn't get distracted and ensure your suggestion is relevant. Consider what changes need to be made next, if any. If you think changes should be made, ask yourself if this is truly what needs to happen. If you are confident about it, then proceed with the changes.\n\n# Steps\n\n1. **Review Context**: Analyze the context from the resources provided, such as recently viewed snippets, edit history, surrounding code, and cursor location.\n2. **Evaluate Current Code**: Determine if the current code within the tags requires any corrections or enhancements.\n3. **Suggest Edits**: If changes are required, ensure they align with the developer's patterns and improve code quality.\n4. **Maintain Consistency**: Ensure indentation and formatting follow the existing code style.\n\n# Output Format\n- Your response should start with the word <EDIT> or <NO_CHANGE>.\n- If your are making an edit, start with <EDIT>, then provide the rewritten code window, then </EDIT>.\n- If no changes are necessary, reply only with <NO_CHANGE>.\n- Ensure that you do not output duplicate code that exists outside of these tags. The output should be the revised code that was between these tags and should not include the <|code_to_edit|> or <|/code_to_edit|> tags.\n\n# Notes\n\n- Apologize with \"Sorry, I can't assist with that.\" for requests that may breach Microsoft content guidelines.\n- Avoid undoing or reverting the developer's last change unless there are obvious typos or errors.";
39
27
  export declare const simplifiedPrompt = "Predict next code edit based on the context given by the user.";
40
28
  export declare const xtab275SystemPrompt = "Predict the next code edit based on user context, following Microsoft content policies and avoiding copyright violations. If a request may breach guidelines, reply: \"Sorry, I can't assist with that.\"";
41
- export declare function getUserPrompt(activeDoc: StatelessNextEditDocument, xtabHistory: readonly IXtabHistoryEntry[], currentFileContent: string, areaAroundCodeToEdit: string, langCtx: LanguageContextResponse | undefined, computeTokens: (s: string) => number, opts: PromptOptions): string;
29
+ export declare class PromptPieces {
30
+ readonly currentDocument: CurrentDocument;
31
+ readonly editWindowLinesRange: OffsetRange;
32
+ readonly areaAroundEditWindowLinesRange: OffsetRange;
33
+ readonly activeDoc: StatelessNextEditDocument;
34
+ readonly xtabHistory: readonly IXtabHistoryEntry[];
35
+ readonly currentFileContent: string;
36
+ readonly areaAroundCodeToEdit: string;
37
+ readonly langCtx: LanguageContextResponse | undefined;
38
+ readonly computeTokens: (s: string) => number;
39
+ readonly opts: PromptOptions;
40
+ constructor(currentDocument: CurrentDocument, editWindowLinesRange: OffsetRange, areaAroundEditWindowLinesRange: OffsetRange, activeDoc: StatelessNextEditDocument, xtabHistory: readonly IXtabHistoryEntry[], currentFileContent: string, areaAroundCodeToEdit: string, langCtx: LanguageContextResponse | undefined, computeTokens: (s: string) => number, opts: PromptOptions);
41
+ }
42
+ export declare function getUserPrompt(promptPieces: PromptPieces): string;
42
43
  export declare function toUniquePath(documentId: DocumentId, workspaceRootPath: string | undefined): string;
43
44
  /**
44
45
  * Build code snippets using paged clipping.
@@ -57,9 +58,7 @@ export declare function truncateCode(lines: string[], fromBeginning: boolean, ma
57
58
  export declare const N_LINES_ABOVE = 2;
58
59
  export declare const N_LINES_BELOW = 5;
59
60
  export declare const N_LINES_AS_CONTEXT = 15;
60
- /**
61
- * @remark exported for testing
62
- */
61
+ export declare function clipPreservingRange(docLines: string[], rangeToPreserve: OffsetRange, computeTokens: (s: string) => number, pageSize: number, opts: CurrentFileOptions): Result<OffsetRange, 'outOfBudget'>;
63
62
  export declare function createTaggedCurrentFileContentUsingPagedClipping(currentDocLines: string[], areaAroundCodeToEdit: string, areaAroundEditWindowLinesRange: OffsetRange, computeTokens: (s: string) => number, pageSize: number, opts: CurrentFileOptions): Result<{
64
63
  taggedCurrentFileContent: string;
65
64
  nLines: number;
@@ -1 +1 @@
1
- {"version":3,"file":"promptCrafting.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAyC,aAAa,EAAE,MAAM,kEAAkE,CAAC;AAC5J,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAyB,iBAAiB,EAAE,MAAM,iFAAiF,CAAC;AAE3I,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAIrD,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAEnF,yBAAiB,UAAU,CAAC;IACpB,MAAM,MAAM,eAAe,CAAC;IAE5B,MAAM,WAAW;;;KAGvB,CAAC;IAEK,MAAM,WAAW;;;KAGvB,CAAC;IAEK,MAAM,YAAY;;;KAGxB,CAAC;IAEK,MAAM,YAAY;;;KAGxB,CAAC;IAEK,MAAM,YAAY;;;KAGxB,CAAC;IAEK,MAAM,WAAW;;;KAGvB,CAAC;CACF;AAED,eAAO,MAAM,oBAAoB,QAiCiC,CAAC;AAEnE,eAAO,MAAM,wBAAwB,k0GA6B8D,CAAC;AAEpG,eAAO,MAAM,uBAAuB,gqGA4B+D,CAAC;AAEpG,eAAO,MAAM,gBAAgB,mEAAmE,CAAC;AAEjG,eAAO,MAAM,mBAAmB,8MAA4M,CAAC;AAE7O,wBAAgB,aAAa,CAAC,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAoCxR;AA0JD,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYlG;AA2FD;;;;GAIG;AACH,wBAAgB,mCAAmC,CAClD,0BAA0B,EAAE;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,aAAa,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,EAAE,EAC7G,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,CAmEvD;AAeD,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM,GACf,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlB;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAmFrC;;GAEG;AACH,wBAAgB,gDAAgD,CAC/D,eAAe,EAAE,MAAM,EAAE,EACzB,oBAAoB,EAAE,MAAM,EAC5B,8BAA8B,EAAE,WAAW,EAC3C,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,kBAAkB,GACtB,MAAM,CAAC;IAAE,wBAAwB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,aAAa,CAAC,CA2B7E"}
1
+ {"version":3,"file":"promptCrafting.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/promptCrafting.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,12 @@
4
4
  * Licensed under the MIT License. See License.txt in the project root for license information.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.N_LINES_AS_CONTEXT = exports.N_LINES_BELOW = exports.N_LINES_ABOVE = exports.xtab275SystemPrompt = exports.simplifiedPrompt = exports.nes41Miniv3SystemPrompt = exports.unifiedModelSystemPrompt = exports.systemPromptTemplate = exports.PromptTags = void 0;
7
+ exports.N_LINES_AS_CONTEXT = exports.N_LINES_BELOW = exports.N_LINES_ABOVE = exports.PromptPieces = exports.xtab275SystemPrompt = exports.simplifiedPrompt = exports.nes41Miniv3SystemPrompt = exports.unifiedModelSystemPrompt = exports.systemPromptTemplate = exports.PromptTags = void 0;
8
8
  exports.getUserPrompt = getUserPrompt;
9
9
  exports.toUniquePath = toUniquePath;
10
10
  exports.buildCodeSnippetsUsingPagedClipping = buildCodeSnippetsUsingPagedClipping;
11
11
  exports.truncateCode = truncateCode;
12
+ exports.clipPreservingRange = clipPreservingRange;
12
13
  exports.createTaggedCurrentFileContentUsingPagedClipping = createTaggedCurrentFileContentUsingPagedClipping;
13
14
  const documentId_1 = require("../../../platform/inlineEdits/common/dataTypes/documentId");
14
15
  const edit_1 = require("../../../platform/inlineEdits/common/dataTypes/edit");
@@ -22,30 +23,18 @@ const offsetRange_1 = require("../../../util/vs/editor/common/core/ranges/offset
22
23
  var PromptTags;
23
24
  (function (PromptTags) {
24
25
  PromptTags.CURSOR = "<|cursor|>";
25
- PromptTags.EDIT_WINDOW = {
26
- start: "<|code_to_edit|>",
27
- end: "<|/code_to_edit|>"
28
- };
29
- PromptTags.AREA_AROUND = {
30
- start: "<|area_around_code_to_edit|>",
31
- end: "<|/area_around_code_to_edit|>"
32
- };
33
- PromptTags.CURRENT_FILE = {
34
- start: "<|current_file_content|>",
35
- end: "<|/current_file_content|>"
36
- };
37
- PromptTags.EDIT_HISTORY = {
38
- start: "<|edit_diff_history|>",
39
- end: "<|/edit_diff_history|>"
40
- };
41
- PromptTags.RECENT_FILES = {
42
- start: "<|recently_viewed_code_snippets|>",
43
- end: "<|/recently_viewed_code_snippets|>"
44
- };
45
- PromptTags.RECENT_FILE = {
46
- start: "<|recently_viewed_code_snippet|>",
47
- end: "<|/recently_viewed_code_snippet|>"
48
- };
26
+ function createTag(key) {
27
+ return {
28
+ start: `<|${key}|>`,
29
+ end: `<|/${key}|>`
30
+ };
31
+ }
32
+ PromptTags.EDIT_WINDOW = createTag("code_to_edit");
33
+ PromptTags.AREA_AROUND = createTag("area_around_code_to_edit");
34
+ PromptTags.CURRENT_FILE = createTag("current_file_content");
35
+ PromptTags.EDIT_HISTORY = createTag("edit_diff_history");
36
+ PromptTags.RECENT_FILES = createTag("recently_viewed_code_snippets");
37
+ PromptTags.RECENT_FILE = createTag("recently_viewed_code_snippet");
49
38
  })(PromptTags || (exports.PromptTags = PromptTags = {}));
50
39
  exports.systemPromptTemplate = `Your role as an AI assistant is to help developers complete their code tasks by assisting in editing specific sections of code marked by the ${PromptTags.EDIT_WINDOW.start} and ${PromptTags.EDIT_WINDOW.end} tags, while adhering to Microsoft's content policies and avoiding the creation of content that violates copyrights.
51
40
 
@@ -142,13 +131,29 @@ Your task is to predict and complete the changes the developer would have made n
142
131
  - Avoid undoing or reverting the developer's last change unless there are obvious typos or errors.`;
143
132
  exports.simplifiedPrompt = 'Predict next code edit based on the context given by the user.';
144
133
  exports.xtab275SystemPrompt = `Predict the next code edit based on user context, following Microsoft content policies and avoiding copyright violations. If a request may breach guidelines, reply: "Sorry, I can't assist with that."`;
145
- function getUserPrompt(activeDoc, xtabHistory, currentFileContent, areaAroundCodeToEdit, langCtx, computeTokens, opts) {
134
+ class PromptPieces {
135
+ constructor(currentDocument, editWindowLinesRange, areaAroundEditWindowLinesRange, activeDoc, xtabHistory, currentFileContent, areaAroundCodeToEdit, langCtx, computeTokens, opts) {
136
+ this.currentDocument = currentDocument;
137
+ this.editWindowLinesRange = editWindowLinesRange;
138
+ this.areaAroundEditWindowLinesRange = areaAroundEditWindowLinesRange;
139
+ this.activeDoc = activeDoc;
140
+ this.xtabHistory = xtabHistory;
141
+ this.currentFileContent = currentFileContent;
142
+ this.areaAroundCodeToEdit = areaAroundCodeToEdit;
143
+ this.langCtx = langCtx;
144
+ this.computeTokens = computeTokens;
145
+ this.opts = opts;
146
+ }
147
+ }
148
+ exports.PromptPieces = PromptPieces;
149
+ function getUserPrompt(promptPieces) {
150
+ const { activeDoc, xtabHistory, currentFileContent, areaAroundCodeToEdit, langCtx, computeTokens, opts } = promptPieces;
146
151
  const { codeSnippets: recentlyViewedCodeSnippets, documents: docsInPrompt } = getRecentCodeSnippets(activeDoc, xtabHistory, langCtx, computeTokens, opts);
147
152
  docsInPrompt.add(activeDoc.id); // Add active document to the set of documents in prompt
148
153
  const editDiffHistory = getEditDiffHistory(activeDoc, xtabHistory, docsInPrompt, computeTokens, opts.diffHistory);
149
154
  const relatedInformation = getRelatedInformation(langCtx);
150
155
  const currentFilePath = toUniquePath(activeDoc.id, activeDoc.workspaceRoot?.path);
151
- const postScript = getPostScript(opts.promptingStrategy, currentFilePath);
156
+ const postScript = promptPieces.opts.includePostScript ? getPostScript(opts.promptingStrategy, currentFilePath) : '';
152
157
  const mainPrompt = `${PromptTags.RECENT_FILES.start}
153
158
  ${recentlyViewedCodeSnippets}
154
159
  ${PromptTags.RECENT_FILES.end}
@@ -514,22 +519,27 @@ function expandRangeToPageRange(currentDocLines, areaAroundEditWindowLinesRange,
514
519
  }
515
520
  return { firstPageIdx, lastPageIdx, budgetLeft: tokenBudget };
516
521
  }
517
- /**
518
- * @remark exported for testing
519
- */
520
- function createTaggedCurrentFileContentUsingPagedClipping(currentDocLines, areaAroundCodeToEdit, areaAroundEditWindowLinesRange, computeTokens, pageSize, opts) {
521
- // subtract budget consumed by areaAroundCodeToEdit
522
- const availableTokenBudget = opts.maxTokens - countTokensForLines(areaAroundCodeToEdit.split(/\r?\n/), computeTokens);
522
+ function clipPreservingRange(docLines, rangeToPreserve, computeTokens, pageSize, opts) {
523
+ // subtract budget consumed by rangeToPreserve
524
+ const availableTokenBudget = opts.maxTokens - countTokensForLines(docLines.slice(rangeToPreserve.start, rangeToPreserve.endExclusive), computeTokens);
523
525
  if (availableTokenBudget < 0) {
524
526
  return result_1.Result.error('outOfBudget');
525
527
  }
526
- const { firstPageIdx, lastPageIdx } = expandRangeToPageRange(currentDocLines, areaAroundEditWindowLinesRange, pageSize, availableTokenBudget, computeTokens, opts.prioritizeAboveCursor);
528
+ const { firstPageIdx, lastPageIdx } = expandRangeToPageRange(docLines, rangeToPreserve, pageSize, availableTokenBudget, computeTokens, opts.prioritizeAboveCursor);
527
529
  const linesOffsetStart = firstPageIdx * pageSize;
528
- const linesOffsetEnd = lastPageIdx * pageSize + pageSize;
530
+ const linesOffsetEndExcl = lastPageIdx * pageSize + pageSize;
531
+ return result_1.Result.ok(new offsetRange_1.OffsetRange(linesOffsetStart, linesOffsetEndExcl));
532
+ }
533
+ function createTaggedCurrentFileContentUsingPagedClipping(currentDocLines, areaAroundCodeToEdit, areaAroundEditWindowLinesRange, computeTokens, pageSize, opts) {
534
+ const r = clipPreservingRange(currentDocLines, areaAroundEditWindowLinesRange, computeTokens, pageSize, opts);
535
+ if (r.isError()) {
536
+ return result_1.Result.error('outOfBudget');
537
+ }
538
+ const clippedRange = r.val;
529
539
  const taggedCurrentFileContent = [
530
- ...currentDocLines.slice(linesOffsetStart, areaAroundEditWindowLinesRange.start),
540
+ ...currentDocLines.slice(clippedRange.start, areaAroundEditWindowLinesRange.start),
531
541
  areaAroundCodeToEdit,
532
- ...currentDocLines.slice(areaAroundEditWindowLinesRange.endExclusive, linesOffsetEnd),
542
+ ...currentDocLines.slice(areaAroundEditWindowLinesRange.endExclusive, clippedRange.endExclusive),
533
543
  ];
534
544
  return result_1.Result.ok({ taggedCurrentFileContent: taggedCurrentFileContent.join('\n'), nLines: taggedCurrentFileContent.length });
535
545
  }
@@ -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,16 @@
1
+ import { Position } from '../../../util/vs/editor/common/core/position';
2
+ import { StringText } from '../../../util/vs/editor/common/core/text/abstractText';
3
+ import { PositionOffsetTransformer } from '../../../util/vs/editor/common/core/text/positionToOffsetImpl';
4
+ export declare class CurrentDocument {
5
+ readonly content: StringText;
6
+ readonly cursorPosition: Position;
7
+ readonly lines: string[];
8
+ readonly cursorOffset: number;
9
+ readonly transformer: PositionOffsetTransformer;
10
+ /**
11
+ * The 0-based line number of the cursor.
12
+ */
13
+ readonly cursorLineOffset: number;
14
+ constructor(content: StringText, cursorPosition: Position);
15
+ }
16
+ //# sourceMappingURL=xtabCurrentDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xtabCurrentDocument.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/xtabCurrentDocument.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE1G,qBAAa,eAAe;aAaV,OAAO,EAAE,UAAU;aACnB,cAAc,EAAE,QAAQ;IAZzC,SAAgB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChC,SAAgB,YAAY,EAAE,MAAM,CAAC;IAErC,SAAgB,WAAW,EAAE,yBAAyB,CAAC;IAEvD;;OAEG;IACH,SAAgB,gBAAgB,EAAE,MAAM,CAAC;gBAGxB,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,QAAQ;CAOzC"}
@@ -0,0 +1,19 @@
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.CurrentDocument = void 0;
8
+ class CurrentDocument {
9
+ constructor(content, cursorPosition) {
10
+ this.content = content;
11
+ this.cursorPosition = cursorPosition;
12
+ this.lines = content.getLines();
13
+ this.transformer = content.getTransformer();
14
+ this.cursorOffset = this.transformer.getOffset(cursorPosition);
15
+ this.cursorLineOffset = this.cursorPosition.lineNumber - 1;
16
+ }
17
+ }
18
+ exports.CurrentDocument = CurrentDocument;
19
+ //# sourceMappingURL=xtabCurrentDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xtabCurrentDocument.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/common/xtabCurrentDocument.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAMhG,MAAa,eAAe;IAY3B,YACiB,OAAmB,EACnB,cAAwB;QADxB,YAAO,GAAP,OAAO,CAAY;QACnB,mBAAc,GAAd,cAAc,CAAU;QAExC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC;IAC5D,CAAC;CACD;AArBD,0CAqBC"}
@@ -12,6 +12,7 @@ import { Prediction } from '../../../platform/networking/common/fetch';
12
12
  import { IChatEndpoint } from '../../../platform/networking/common/networking';
13
13
  import { ISimulationTestContext } from '../../../platform/simulationTestContext/common/simulationTestContext';
14
14
  import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService';
15
+ import { ITelemetryService } from '../../../platform/telemetry/common/telemetry';
15
16
  import { IWorkspaceService } from '../../../platform/workspace/common/workspaceService';
16
17
  import { Result } from '../../../util/common/result';
17
18
  import { ITracer } from '../../../util/common/tracing';
@@ -19,9 +20,10 @@ import { CancellationToken } from '../../../util/vs/base/common/cancellation';
19
20
  import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
20
21
  import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
21
22
  import { DelaySession } from '../../inlineEdits/common/delayer';
23
+ import { PromptPieces } from '../common/promptCrafting';
22
24
  declare const enum RetryState {
23
25
  NotRetrying = 0,
24
- RetryingWithExpandedWindow = 1
26
+ Retrying = 1
25
27
  }
26
28
  export declare class XtabProvider implements IStatelessNextEditProvider {
27
29
  private readonly simulationCtx;
@@ -34,14 +36,16 @@ export declare class XtabProvider implements IStatelessNextEditProvider {
34
36
  private readonly langCtxService;
35
37
  private readonly langDiagService;
36
38
  private readonly ignoreService;
39
+ private readonly telemetryService;
37
40
  static readonly ID = "XtabProvider";
38
41
  readonly ID = "XtabProvider";
39
42
  readonly dependsOnSelection = true;
40
43
  readonly showNextEditPreference = ShowNextEditPreference.Always;
44
+ private static computeTokens;
41
45
  private readonly tracer;
42
46
  private readonly delayer;
43
47
  private forceUseDefaultModel;
44
- constructor(simulationCtx: ISimulationTestContext, instaService: IInstantiationService, workspaceService: IWorkspaceService, diffService: IDiffService, configService: IConfigurationService, expService: IExperimentationService, logService: ILogService, langCtxService: ILanguageContextProviderService, langDiagService: ILanguageDiagnosticsService, ignoreService: IIgnoreService);
48
+ constructor(simulationCtx: ISimulationTestContext, instaService: IInstantiationService, workspaceService: IWorkspaceService, diffService: IDiffService, configService: IConfigurationService, expService: IExperimentationService, logService: ILogService, langCtxService: ILanguageContextProviderService, langDiagService: ILanguageDiagnosticsService, ignoreService: IIgnoreService, telemetryService: ITelemetryService);
45
49
  handleAcceptance(): void;
46
50
  handleRejection(): void;
47
51
  provideNextEdit(request: StatelessNextEditRequest, pushEdit: PushEdit, logContext: InlineEditRequestLogContext, cancellationToken: CancellationToken): Promise<StatelessNextEditResult>;
@@ -49,9 +53,11 @@ export declare class XtabProvider implements IStatelessNextEditProvider {
49
53
  _provideNextEdit(request: StatelessNextEditRequest, pushEdit: PushEdit, logContext: InlineEditRequestLogContext, cancellationToken: CancellationToken): Promise<StatelessNextEditResult>;
50
54
  private doGetNextEdit;
51
55
  private doGetNextEditWithSelection;
56
+ private constructTaggedFile;
57
+ private getAndProcessLanguageContext;
52
58
  private getLanguageContext;
53
59
  streamEdits(request: StatelessNextEditRequest, pushEdit: PushEdit, endpoint: IChatEndpoint, messages: Raw.ChatMessage[], editWindow: OffsetRange, editWindowLines: string[], cursorOriginalLinesOffset: number, cursorLineOffset: number, // cursor offset within the line it's in; 1-based
54
- editWindowLineRange: OffsetRange, prediction: Prediction | undefined, opts: {
60
+ editWindowLineRange: OffsetRange, promptPieces: PromptPieces, prediction: Prediction | undefined, opts: {
55
61
  promptingStrategy: xtabPromptOptions.PromptingStrategy | undefined;
56
62
  shouldRemoveCursorTagFromResponse: boolean;
57
63
  retryState: RetryState;
@@ -60,7 +66,10 @@ export declare class XtabProvider implements IStatelessNextEditProvider {
60
66
  private computeAreaAroundEditWindowLinesRange;
61
67
  private computeEditWindowLinesRange;
62
68
  private static mapChatFetcherErrorToNoNextEditReason;
63
- private determinePromptOptions;
69
+ private determineModelConfiguration;
70
+ private overrideByStringModelConfig;
71
+ private static overrideModelConfig;
72
+ private predictNextCursorPosition;
64
73
  private determinePromptingStrategy;
65
74
  private pickSystemPrompt;
66
75
  private determineLanguageContextOptions;
@@ -71,5 +80,14 @@ export declare class XtabProvider implements IStatelessNextEditProvider {
71
80
  private enforceArtificialDelay;
72
81
  private trace;
73
82
  }
83
+ /**
84
+ * Finds the range of lines containing merge conflict markers within a specified edit window.
85
+ *
86
+ * @param lines - Array of strings representing the lines of text to search through
87
+ * @param editWindowRange - The range within which to search for merge conflict markers
88
+ * @param maxMergeConflictLines - Maximum number of lines to search for conflict markers
89
+ * @returns An OffsetRange object representing the start and end of the conflict markers, or undefined if not found
90
+ */
91
+ export declare function findMergeConflictMarkersRange(lines: string[], editWindowRange: OffsetRange, maxMergeConflictLines: number): OffsetRange | undefined;
74
92
  export {};
75
93
  //# sourceMappingURL=xtabProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xtabProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xtabProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabProvider.ts"],"names":[],"mappings":"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"}