@vscode/chat-lib 0.1.2 → 0.1.3-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 (800) hide show
  1. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js +2 -2
  2. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js.map +1 -1
  3. package/dist/src/_internal/extension/common/constants.d.ts +1 -2
  4. package/dist/src/_internal/extension/common/constants.d.ts.map +1 -1
  5. package/dist/src/_internal/extension/common/constants.js +0 -3
  6. package/dist/src/_internal/extension/common/constants.js.map +1 -1
  7. package/dist/src/_internal/extension/completions/common/config.d.ts +29 -0
  8. package/dist/src/_internal/extension/completions/common/config.d.ts.map +1 -0
  9. package/dist/src/_internal/extension/completions/common/config.js +43 -0
  10. package/dist/src/_internal/extension/completions/common/config.js.map +1 -0
  11. package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.d.ts +28 -0
  12. package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.d.ts.map +1 -0
  13. package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.js +67 -0
  14. package/dist/src/_internal/extension/completions-core/vscode-node/bridge/src/completionsTelemetryServiceBridge.js.map +1 -0
  15. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.d.ts +18 -0
  16. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.d.ts.map +1 -0
  17. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.js +19 -0
  18. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/extensionStatus.js.map +1 -0
  19. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.d.ts +31 -0
  20. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.d.ts.map +1 -0
  21. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.js +66 -0
  22. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenManager.js.map +1 -0
  23. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.d.ts +4 -0
  24. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.d.ts.map +1 -0
  25. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.js +16 -0
  26. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/copilotTokenNotifier.js.map +1 -0
  27. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.d.ts +3 -0
  28. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.d.ts.map +1 -0
  29. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.js +27 -0
  30. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/auth/orgs.js.map +1 -0
  31. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.d.ts +15 -0
  32. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.d.ts.map +1 -0
  33. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.js +56 -0
  34. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/changeTracker.js.map +1 -0
  35. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.d.ts +27 -0
  36. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.d.ts.map +1 -0
  37. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.js +18 -0
  38. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/citationManager.js.map +1 -0
  39. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.d.ts +29 -0
  40. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.d.ts.map +1 -0
  41. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.js +54 -0
  42. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionNotifier.js.map +1 -0
  43. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.d.ts +20 -0
  44. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.d.ts.map +1 -0
  45. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.js +93 -0
  46. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionState.js.map +1 -0
  47. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.d.ts +16 -0
  48. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.d.ts.map +1 -0
  49. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.js +6 -0
  50. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/completionsObservableWorkspace.js.map +1 -0
  51. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.d.ts +192 -0
  52. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.d.ts.map +1 -0
  53. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.js +329 -0
  54. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/config.js.map +1 -0
  55. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.d.ts +2 -0
  56. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.d.ts.map +1 -0
  57. package/dist/src/_internal/extension/{inlineEdits/common/jumpToCursorPosition.js → completions-core/vscode-node/lib/src/constants.js} +4 -4
  58. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/constants.js.map +1 -0
  59. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.d.ts +18 -0
  60. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.d.ts.map +1 -0
  61. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.js +32 -0
  62. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/documentTracker.js.map +1 -0
  63. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.d.ts +20 -0
  64. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.d.ts.map +1 -0
  65. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.js +64 -0
  66. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/error/userErrorNotifier.js.map +1 -0
  67. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.d.ts +7 -0
  68. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.d.ts.map +1 -0
  69. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.js +60 -0
  70. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/defaultExpFilters.js.map +1 -0
  71. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.d.ts +102 -0
  72. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.d.ts.map +1 -0
  73. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.js +126 -0
  74. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/expConfig.js.map +1 -0
  75. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.d.ts +103 -0
  76. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.d.ts.map +1 -0
  77. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.js +302 -0
  78. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/features.js.map +1 -0
  79. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.d.ts +60 -0
  80. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.d.ts.map +1 -0
  81. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.js +10 -0
  82. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/featuresService.js.map +1 -0
  83. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.d.ts +62 -0
  84. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.d.ts.map +1 -0
  85. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.js +100 -0
  86. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/filters.js.map +1 -0
  87. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.d.ts +7 -0
  88. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.d.ts.map +1 -0
  89. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.js +42 -0
  90. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProvider.js.map +1 -0
  91. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.d.ts +6 -0
  92. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.d.ts.map +1 -0
  93. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.js +20 -0
  94. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/similarFileOptionsProviderCpp.js.map +1 -0
  95. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.d.ts +4 -0
  96. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.d.ts.map +1 -0
  97. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.js +14 -0
  98. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/experiments/telemetryNames.js.map +1 -0
  99. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.d.ts +28 -0
  100. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.d.ts.map +1 -0
  101. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.js +82 -0
  102. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileReader.js.map +1 -0
  103. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.d.ts +57 -0
  104. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.d.ts.map +1 -0
  105. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.js +25 -0
  106. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/fileSystem.js.map +1 -0
  107. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.d.ts +69 -0
  108. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.d.ts.map +1 -0
  109. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.js +249 -0
  110. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.js.map +1 -0
  111. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.d.ts +70 -0
  112. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.d.ts.map +1 -0
  113. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.js +279 -0
  114. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/blockTrimmer.js.map +1 -0
  115. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.d.ts +21 -0
  116. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.d.ts.map +1 -0
  117. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.js +46 -0
  118. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsCache.js.map +1 -0
  119. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.d.ts +17 -0
  120. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.d.ts.map +1 -0
  121. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.js +79 -0
  122. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/configBlockMode.js.map +1 -0
  123. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.d.ts +4 -0
  124. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.d.ts.map +1 -0
  125. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.js +105 -0
  126. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/contextualFilterConstants.js.map +1 -0
  127. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts +21 -0
  128. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts.map +1 -0
  129. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js +56 -0
  130. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js.map +1 -0
  131. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.d.ts +45 -0
  132. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.d.ts.map +1 -0
  133. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.js +100 -0
  134. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.js.map +1 -0
  135. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts +58 -0
  136. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts.map +1 -0
  137. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js +1118 -0
  138. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js.map +1 -0
  139. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts +48 -0
  140. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts.map +1 -0
  141. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js +187 -0
  142. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js.map +1 -0
  143. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.d.ts +32 -0
  144. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.d.ts.map +1 -0
  145. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.js +143 -0
  146. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModel.js.map +1 -0
  147. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.d.ts +2 -0
  148. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.d.ts.map +1 -0
  149. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.js +15318 -0
  150. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/multilineModelWeights.js.map +1 -0
  151. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.d.ts +7 -0
  152. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.d.ts.map +1 -0
  153. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.js +58 -0
  154. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/normalizeIndent.js.map +1 -0
  155. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.d.ts +15 -0
  156. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.d.ts.map +1 -0
  157. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.js +28 -0
  158. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/speculativeRequestCache.js.map +1 -0
  159. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.d.ts +75 -0
  160. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.d.ts.map +1 -0
  161. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.js +785 -0
  162. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/statementTree.js.map +1 -0
  163. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.d.ts +22 -0
  164. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.d.ts.map +1 -0
  165. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js +205 -0
  166. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js.map +1 -0
  167. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts +120 -0
  168. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts.map +1 -0
  169. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js +110 -0
  170. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js.map +1 -0
  171. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.d.ts +28 -0
  172. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.d.ts.map +1 -0
  173. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.js +86 -0
  174. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/cache.js.map +1 -0
  175. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.d.ts +10 -0
  176. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.d.ts.map +1 -0
  177. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.js +73 -0
  178. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/iterableHelpers.js.map +1 -0
  179. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.d.ts +59 -0
  180. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.d.ts.map +1 -0
  181. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.js +228 -0
  182. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/helpers/radix.js.map +1 -0
  183. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts +12 -0
  184. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts.map +1 -0
  185. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js +87 -0
  186. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js.map +1 -0
  187. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.d.ts +7 -0
  188. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.d.ts.map +1 -0
  189. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.js +752 -0
  190. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/generatedLanguages.js.map +1 -0
  191. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.d.ts +28 -0
  192. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.d.ts.map +1 -0
  193. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.js +156 -0
  194. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languageDetection.js.map +1 -0
  195. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.d.ts +10 -0
  196. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.d.ts.map +1 -0
  197. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.js +29 -0
  198. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/language/languages.js.map +1 -0
  199. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.d.ts +10 -0
  200. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.d.ts.map +1 -0
  201. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.js +64 -0
  202. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/localFileSystem.js.map +1 -0
  203. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.d.ts +37 -0
  204. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.d.ts.map +1 -0
  205. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.js +75 -0
  206. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/logger.js.map +1 -0
  207. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.d.ts +19 -0
  208. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.d.ts.map +1 -0
  209. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.js +65 -0
  210. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.js.map +1 -0
  211. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts +68 -0
  212. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts.map +1 -0
  213. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js +166 -0
  214. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js.map +1 -0
  215. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.d.ts +24 -0
  216. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.d.ts.map +1 -0
  217. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.js +33 -0
  218. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkingTypes.js.map +1 -0
  219. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.d.ts +17 -0
  220. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.d.ts.map +1 -0
  221. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.js +36 -0
  222. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/notificationSender.js.map +1 -0
  223. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.d.ts +13 -0
  224. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.d.ts.map +1 -0
  225. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.js +20 -0
  226. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/config.js.map +1 -0
  227. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts +227 -0
  228. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts.map +1 -0
  229. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js +331 -0
  230. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js.map +1 -0
  231. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.d.ts +58 -0
  232. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.d.ts.map +1 -0
  233. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js +131 -0
  234. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js.map +1 -0
  235. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts +47 -0
  236. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts.map +1 -0
  237. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js +124 -0
  238. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js.map +1 -0
  239. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts +206 -0
  240. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts.map +1 -0
  241. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js +603 -0
  242. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js.map +1 -0
  243. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts +11 -0
  244. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts.map +1 -0
  245. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js +294 -0
  246. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js.map +1 -0
  247. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.d.ts +36 -0
  248. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.d.ts.map +1 -0
  249. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.js +80 -0
  250. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/progress.js.map +1 -0
  251. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.d.ts +38 -0
  252. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.d.ts.map +1 -0
  253. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.js +148 -0
  254. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/asyncUtils.js.map +1 -0
  255. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.d.ts +40 -0
  256. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.d.ts.map +1 -0
  257. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.js +95 -0
  258. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/completionsPromptFactory.js.map +1 -0
  259. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts +69 -0
  260. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts.map +1 -0
  261. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js +305 -0
  262. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js.map +1 -0
  263. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.d.ts +10 -0
  264. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.d.ts.map +1 -0
  265. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.js +74 -0
  266. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/codeSnippets.js.map +1 -0
  267. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.d.ts +18 -0
  268. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.d.ts.map +1 -0
  269. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.js +38 -0
  270. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsContext.js.map +1 -0
  271. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.d.ts +45 -0
  272. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.d.ts.map +1 -0
  273. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.js +223 -0
  274. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/completionsPromptRenderer.js.map +1 -0
  275. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.d.ts +23 -0
  276. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.d.ts.map +1 -0
  277. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.js +51 -0
  278. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/contextProviderBridge.js.map +1 -0
  279. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.d.ts +27 -0
  280. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.d.ts.map +1 -0
  281. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.js +151 -0
  282. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/currentFile.js.map +1 -0
  283. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.d.ts +76 -0
  284. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.d.ts.map +1 -0
  285. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.js +264 -0
  286. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/elision.js.map +1 -0
  287. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.d.ts +10 -0
  288. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.d.ts.map +1 -0
  289. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.js +43 -0
  290. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/marker.js.map +1 -0
  291. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.d.ts +20 -0
  292. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.d.ts.map +1 -0
  293. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.js +99 -0
  294. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/recentEdits.js.map +1 -0
  295. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.d.ts +12 -0
  296. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.d.ts.map +1 -0
  297. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.js +58 -0
  298. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/similarFiles.js.map +1 -0
  299. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.d.ts +9 -0
  300. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.d.ts.map +1 -0
  301. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js +31 -0
  302. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js.map +1 -0
  303. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.d.ts +15 -0
  304. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.d.ts.map +1 -0
  305. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.js +113 -0
  306. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPromptRenderer.js.map +1 -0
  307. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.d.ts +5 -0
  308. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.d.ts.map +1 -0
  309. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.js +33 -0
  310. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/traits.js.map +1 -0
  311. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.d.ts +90 -0
  312. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.d.ts.map +1 -0
  313. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.js +381 -0
  314. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.js.map +1 -0
  315. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.d.ts +5 -0
  316. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.d.ts.map +1 -0
  317. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.js +36 -0
  318. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCSharp.js.map +1 -0
  319. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.d.ts +5 -0
  320. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.d.ts.map +1 -0
  321. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.js +52 -0
  322. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryCpp.js.map +1 -0
  323. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.d.ts +30 -0
  324. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.d.ts.map +1 -0
  325. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.js +63 -0
  326. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryMultiLanguage.js.map +1 -0
  327. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.d.ts +6 -0
  328. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.d.ts.map +1 -0
  329. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.js +42 -0
  330. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistryTs.js.map +1 -0
  331. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.d.ts +39 -0
  332. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.d.ts.map +1 -0
  333. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.js +159 -0
  334. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderStatistics.js.map +1 -0
  335. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.d.ts +11 -0
  336. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.d.ts.map +1 -0
  337. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.js +57 -0
  338. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/codeSnippets.js.map +1 -0
  339. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts +34 -0
  340. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts.map +1 -0
  341. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js +107 -0
  342. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js.map +1 -0
  343. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.d.ts +8 -0
  344. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.d.ts.map +1 -0
  345. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.js +50 -0
  346. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/traits.js.map +1 -0
  347. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.d.ts +41 -0
  348. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.d.ts.map +1 -0
  349. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.js +231 -0
  350. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/parseBlock.js.map +1 -0
  351. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.d.ts +64 -0
  352. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.d.ts.map +1 -0
  353. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.js +101 -0
  354. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.js.map +1 -0
  355. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.d.ts +43 -0
  356. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.d.ts.map +1 -0
  357. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.js +115 -0
  358. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsProvider.js.map +1 -0
  359. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.d.ts +88 -0
  360. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.d.ts.map +1 -0
  361. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.js +362 -0
  362. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/recentEdits/recentEditsReducer.js.map +1 -0
  363. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.d.ts +55 -0
  364. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.d.ts.map +1 -0
  365. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.js +239 -0
  366. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/repository.js.map +1 -0
  367. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.d.ts +37 -0
  368. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.d.ts.map +1 -0
  369. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.js +149 -0
  370. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/compositeRelatedFilesProvider.js.map +1 -0
  371. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.d.ts +66 -0
  372. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.d.ts.map +1 -0
  373. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.js +142 -0
  374. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/neighborFiles.js.map +1 -0
  375. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.d.ts +21 -0
  376. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.d.ts.map +1 -0
  377. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.js +72 -0
  378. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/openTabFiles.js.map +1 -0
  379. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.d.ts +90 -0
  380. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.d.ts.map +1 -0
  381. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.js +287 -0
  382. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/similarFiles/relatedFiles.js.map +1 -0
  383. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.d.ts +6 -0
  384. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.d.ts.map +1 -0
  385. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.js +56 -0
  386. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/compute.js.map +1 -0
  387. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.d.ts +19 -0
  388. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.d.ts.map +1 -0
  389. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.js +156 -0
  390. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/connectionState.js.map +1 -0
  391. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.d.ts +3 -0
  392. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.d.ts.map +1 -0
  393. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.js +10 -0
  394. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/constants.js.map +1 -0
  395. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.d.ts +32 -0
  396. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.d.ts.map +1 -0
  397. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.js +63 -0
  398. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/errorCreator.js.map +1 -0
  399. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.d.ts +3 -0
  400. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.d.ts.map +1 -0
  401. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.js +159 -0
  402. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/handlePostInsertion.js.map +1 -0
  403. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.d.ts +43 -0
  404. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.d.ts.map +1 -0
  405. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.js +58 -0
  406. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/index.js.map +1 -0
  407. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.d.ts +3 -0
  408. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.d.ts.map +1 -0
  409. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.js +11 -0
  410. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/logger.js.map +1 -0
  411. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.d.ts +15 -0
  412. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.d.ts.map +1 -0
  413. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.js +108 -0
  414. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/network.js.map +1 -0
  415. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.d.ts +60 -0
  416. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.d.ts.map +1 -0
  417. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.js +61 -0
  418. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/snippy.proto.js.map +1 -0
  419. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.d.ts +49 -0
  420. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.d.ts.map +1 -0
  421. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.js +95 -0
  422. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/snippy/telemetryHandlers.js.map +1 -0
  423. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts +9 -0
  424. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts.map +1 -0
  425. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.js +72 -0
  426. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.js.map +1 -0
  427. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.d.ts +88 -0
  428. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.d.ts.map +1 -0
  429. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.js +245 -0
  430. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/editDistance.js.map +1 -0
  431. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.d.ts +17 -0
  432. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.d.ts.map +1 -0
  433. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.js +35 -0
  434. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/partialSuggestions.js.map +1 -0
  435. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.d.ts +15 -0
  436. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.d.ts.map +1 -0
  437. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.js +180 -0
  438. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.js.map +1 -0
  439. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.d.ts +29 -0
  440. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.d.ts.map +1 -0
  441. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.js +76 -0
  442. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry/userConfig.js.map +1 -0
  443. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts +196 -0
  444. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts.map +1 -0
  445. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.js +504 -0
  446. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.js.map +1 -0
  447. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.d.ts +206 -0
  448. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.d.ts.map +1 -0
  449. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.js +81 -0
  450. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocument.js.map +1 -0
  451. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.d.ts +165 -0
  452. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.d.ts.map +1 -0
  453. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.js +141 -0
  454. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/textDocumentManager.js.map +1 -0
  455. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.d.ts +16 -0
  456. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.d.ts.map +1 -0
  457. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.js +27 -0
  458. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/async.js.map +1 -0
  459. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.d.ts +12 -0
  460. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.d.ts.map +1 -0
  461. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.js +23 -0
  462. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/documentEvaluation.js.map +1 -0
  463. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.d.ts +28 -0
  464. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.d.ts.map +1 -0
  465. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.js +71 -0
  466. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/event.js.map +1 -0
  467. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.d.ts +13 -0
  468. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.d.ts.map +1 -0
  469. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.js +23 -0
  470. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/promiseQueue.js.map +1 -0
  471. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.d.ts +24 -0
  472. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.d.ts.map +1 -0
  473. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.js +60 -0
  474. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/runtimeMode.js.map +1 -0
  475. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.d.ts +4 -0
  476. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.d.ts.map +1 -0
  477. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.js +19 -0
  478. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/shortCircuit.js.map +1 -0
  479. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.d.ts +24 -0
  480. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.d.ts.map +1 -0
  481. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.js +49 -0
  482. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/subject.js.map +1 -0
  483. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.d.ts +14 -0
  484. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.d.ts.map +1 -0
  485. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.js +30 -0
  486. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/typebox.js.map +1 -0
  487. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.d.ts +6 -0
  488. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.d.ts.map +1 -0
  489. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.js +19 -0
  490. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/unknown.js.map +1 -0
  491. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.d.ts +43 -0
  492. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.d.ts.map +1 -0
  493. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.js +181 -0
  494. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/util/uri.js.map +1 -0
  495. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.d.ts +36 -0
  496. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.d.ts.map +1 -0
  497. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.js +38 -0
  498. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/jsx-runtime/jsx-runtime.js.map +1 -0
  499. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.d.ts +134 -0
  500. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.d.ts.map +1 -0
  501. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.js +27 -0
  502. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/components.js.map +1 -0
  503. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.d.ts +21 -0
  504. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.d.ts.map +1 -0
  505. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.js +57 -0
  506. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/hooks.js.map +1 -0
  507. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.d.ts +53 -0
  508. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.d.ts.map +1 -0
  509. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.js +203 -0
  510. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/reconciler.js.map +1 -0
  511. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.d.ts +23 -0
  512. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.d.ts.map +1 -0
  513. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.js +68 -0
  514. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/virtualPrompt.js.map +1 -0
  515. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.d.ts +48 -0
  516. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.d.ts.map +1 -0
  517. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.js +81 -0
  518. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/components/walker.js.map +1 -0
  519. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.d.ts +5 -0
  520. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.d.ts.map +1 -0
  521. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.js +15 -0
  522. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/error.js.map +1 -0
  523. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.d.ts +3 -0
  524. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.d.ts.map +1 -0
  525. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.js +65 -0
  526. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/fileLoader.js.map +1 -0
  527. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.d.ts +69 -0
  528. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.d.ts.map +1 -0
  529. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.js +84 -0
  530. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/classes.js.map +1 -0
  531. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.d.ts +51 -0
  532. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.d.ts.map +1 -0
  533. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.js +159 -0
  534. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/manipulation.js.map +1 -0
  535. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.d.ts +67 -0
  536. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.d.ts.map +1 -0
  537. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.js +300 -0
  538. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/indentation/parsing.js.map +1 -0
  539. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.d.ts +105 -0
  540. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.d.ts.map +1 -0
  541. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.js +442 -0
  542. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/languageMarker.js.map +1 -0
  543. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.d.ts +21 -0
  544. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.d.ts.map +1 -0
  545. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.js +168 -0
  546. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parse.js.map +1 -0
  547. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.d.ts +23 -0
  548. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.d.ts.map +1 -0
  549. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.js +851 -0
  550. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/parseBlock.js.map +1 -0
  551. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.d.ts +68 -0
  552. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.d.ts.map +1 -0
  553. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.js +47 -0
  554. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/prompt.js.map +1 -0
  555. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.d.ts +41 -0
  556. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.d.ts.map +1 -0
  557. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.js +55 -0
  558. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/cursorContext.js.map +1 -0
  559. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.d.ts +20 -0
  560. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.d.ts.map +1 -0
  561. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.js +51 -0
  562. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/jaccardMatching.js.map +1 -0
  563. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.d.ts +87 -0
  564. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.d.ts.map +1 -0
  565. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.js +326 -0
  566. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/selectRelevance.js.map +1 -0
  567. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.d.ts +20 -0
  568. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.d.ts.map +1 -0
  569. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.js +87 -0
  570. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/similarFiles.js.map +1 -0
  571. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.d.ts +46 -0
  572. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.d.ts.map +1 -0
  573. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.js +67 -0
  574. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/snippets.js.map +1 -0
  575. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.d.ts +29 -0
  576. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.d.ts.map +1 -0
  577. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.js +135 -0
  578. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/subsetMatching.js.map +1 -0
  579. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.d.ts +23 -0
  580. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.d.ts.map +1 -0
  581. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.js +132 -0
  582. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/snippetInclusion/windowDelineations.js.map +1 -0
  583. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.d.ts +6 -0
  584. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.d.ts.map +1 -0
  585. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.js +22 -0
  586. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/suffixMatchCriteria.js.map +1 -0
  587. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.d.ts +2 -0
  588. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.d.ts.map +1 -0
  589. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.js +22 -0
  590. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/index.js.map +1 -0
  591. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.d.ts +116 -0
  592. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.d.ts.map +1 -0
  593. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.js +302 -0
  594. package/dist/src/_internal/extension/completions-core/vscode-node/prompt/src/tokenization/tokenizer.js.map +1 -0
  595. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.d.ts +25 -0
  596. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.d.ts.map +1 -0
  597. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.js +57 -0
  598. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/auth.js.map +1 -0
  599. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.d.ts +20 -0
  600. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.d.ts.map +1 -0
  601. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.js +47 -0
  602. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/codeCitation.js.map +1 -0
  603. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts +161 -0
  604. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts.map +1 -0
  605. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js +7 -0
  606. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js.map +1 -0
  607. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.d.ts +12 -0
  608. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.d.ts.map +1 -0
  609. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.js +29 -0
  610. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/core.js.map +1 -0
  611. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.d.ts +7 -0
  612. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.d.ts.map +1 -0
  613. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.js +34 -0
  614. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/index.js.map +1 -0
  615. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.d.ts +15 -0
  616. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.d.ts.map +1 -0
  617. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.js +7 -0
  618. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/status.js.map +1 -0
  619. package/dist/src/_internal/extension/inlineEdits/common/delayer.d.ts.map +1 -1
  620. package/dist/src/_internal/extension/inlineEdits/common/delayer.js +6 -5
  621. package/dist/src/_internal/extension/inlineEdits/common/delayer.js.map +1 -1
  622. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +0 -1
  623. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  624. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +1 -1
  625. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  626. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +29 -75
  627. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  628. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +1 -1
  629. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  630. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +2 -2
  631. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  632. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +6 -4
  633. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
  634. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
  635. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +27 -7
  636. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  637. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +526 -213
  638. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  639. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +45 -0
  640. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +1 -0
  641. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +189 -0
  642. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -0
  643. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +616 -0
  644. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  645. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +46 -1
  646. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  647. package/dist/src/_internal/extension/xtab/common/tags.d.ts +13 -0
  648. package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
  649. package/dist/src/_internal/extension/xtab/common/tags.js +15 -1
  650. package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
  651. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js +2 -2
  652. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js.map +1 -1
  653. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts +18 -0
  654. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts.map +1 -0
  655. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +156 -0
  656. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -0
  657. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +5 -11
  658. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  659. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +116 -276
  660. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  661. package/dist/src/_internal/extension/xtab/node/xtabUtils.d.ts +6 -0
  662. package/dist/src/_internal/extension/xtab/node/xtabUtils.d.ts.map +1 -1
  663. package/dist/src/_internal/extension/xtab/node/xtabUtils.js +20 -0
  664. package/dist/src/_internal/extension/xtab/node/xtabUtils.js.map +1 -1
  665. package/dist/src/_internal/platform/authentication/common/authentication.d.ts +2 -1
  666. package/dist/src/_internal/platform/authentication/common/authentication.d.ts.map +1 -1
  667. package/dist/src/_internal/platform/authentication/common/authentication.js +6 -0
  668. package/dist/src/_internal/platform/authentication/common/authentication.js.map +1 -1
  669. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +135 -107
  670. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  671. package/dist/src/_internal/platform/configuration/common/configurationService.js +304 -276
  672. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  673. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.d.ts.map +1 -1
  674. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.js +10 -0
  675. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.js.map +1 -1
  676. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts +1 -1
  677. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
  678. package/dist/src/_internal/platform/endpoint/common/capiClient.js +2 -2
  679. package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
  680. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +15 -1
  681. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  682. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +73 -34
  683. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  684. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +3 -1
  685. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  686. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js +1 -0
  687. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  688. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js +1 -1
  689. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js.map +1 -1
  690. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +2 -0
  691. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  692. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +19 -2
  693. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  694. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +65 -0
  695. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -0
  696. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +405 -0
  697. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -0
  698. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  699. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +1 -2
  700. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  701. package/dist/src/_internal/platform/env/common/envService.d.ts +2 -0
  702. package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
  703. package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
  704. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +1 -0
  705. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
  706. package/dist/src/_internal/platform/env/common/nullEnvService.js +3 -0
  707. package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
  708. package/dist/src/_internal/platform/git/common/gitService.d.ts +119 -0
  709. package/dist/src/_internal/platform/git/common/gitService.d.ts.map +1 -0
  710. package/dist/src/_internal/platform/git/common/gitService.js +251 -0
  711. package/dist/src/_internal/platform/git/common/gitService.js.map +1 -0
  712. package/dist/src/_internal/platform/github/common/githubAPI.d.ts +5 -6
  713. package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
  714. package/dist/src/_internal/platform/github/common/githubAPI.js +10 -1
  715. package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
  716. package/dist/src/_internal/platform/github/common/githubService.d.ts +43 -23
  717. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  718. package/dist/src/_internal/platform/github/common/githubService.js +27 -30
  719. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  720. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +1 -1
  721. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  722. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts +2 -0
  723. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts.map +1 -1
  724. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +13 -0
  725. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  726. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts +0 -1
  727. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts.map +1 -1
  728. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js +1 -1
  729. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js.map +1 -1
  730. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +31 -18
  731. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  732. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +58 -21
  733. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  734. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.d.ts +1 -0
  735. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.d.ts.map +1 -1
  736. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.js +5 -0
  737. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.js.map +1 -1
  738. package/dist/src/_internal/platform/languageContextProvider/common/languageContextProviderService.d.ts +7 -3
  739. package/dist/src/_internal/platform/languageContextProvider/common/languageContextProviderService.d.ts.map +1 -1
  740. package/dist/src/_internal/platform/languageContextProvider/common/languageContextProviderService.js +6 -1
  741. package/dist/src/_internal/platform/languageContextProvider/common/languageContextProviderService.js.map +1 -1
  742. package/dist/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.d.ts +2 -2
  743. package/dist/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.d.ts.map +1 -1
  744. package/dist/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.js +1 -1
  745. package/dist/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.js.map +1 -1
  746. package/dist/src/_internal/platform/networking/common/fetch.d.ts +10 -2
  747. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  748. package/dist/src/_internal/platform/networking/common/fetch.js +0 -8
  749. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  750. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +7 -0
  751. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  752. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  753. package/dist/src/_internal/platform/networking/common/networking.d.ts +21 -4
  754. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  755. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  756. package/dist/src/_internal/platform/notebook/common/alternativeContent.js +1 -1
  757. package/dist/src/_internal/platform/notification/common/notificationService.d.ts +49 -0
  758. package/dist/src/_internal/platform/notification/common/notificationService.d.ts.map +1 -0
  759. package/dist/src/_internal/platform/notification/common/notificationService.js +32 -0
  760. package/dist/src/_internal/platform/notification/common/notificationService.js.map +1 -0
  761. package/dist/src/_internal/platform/openai/node/fetch.d.ts +2 -33
  762. package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
  763. package/dist/src/_internal/platform/openai/node/fetch.js +0 -401
  764. package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
  765. package/dist/src/_internal/platform/requestLogger/common/capturingToken.d.ts +31 -0
  766. package/dist/src/_internal/platform/requestLogger/common/capturingToken.d.ts.map +1 -0
  767. package/dist/src/_internal/platform/requestLogger/common/capturingToken.js +31 -0
  768. package/dist/src/_internal/platform/requestLogger/common/capturingToken.js.map +1 -0
  769. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +8 -7
  770. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  771. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  772. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts +18 -0
  773. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts.map +1 -0
  774. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js +150 -0
  775. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js.map +1 -0
  776. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +19 -5
  777. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  778. package/dist/src/_internal/util/common/test/shims/chatTypes.js +23 -3
  779. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  780. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  781. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +6 -1
  782. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  783. package/dist/src/_internal/util/common/tracing.d.ts +21 -2
  784. package/dist/src/_internal/util/common/tracing.d.ts.map +1 -1
  785. package/dist/src/_internal/util/common/tracing.js +51 -29
  786. package/dist/src/_internal/util/common/tracing.js.map +1 -1
  787. package/dist/src/_internal/vscodeTypes.d.ts +5 -0
  788. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  789. package/dist/src/_internal/vscodeTypes.js +6 -1
  790. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  791. package/dist/src/main.d.ts +101 -0
  792. package/dist/src/main.d.ts.map +1 -1
  793. package/dist/src/main.js +262 -9
  794. package/dist/src/main.js.map +1 -1
  795. package/dist/src/package.json +821 -197
  796. package/package.json +13 -3
  797. package/script/postinstall.ts +74 -0
  798. package/dist/src/_internal/extension/inlineEdits/common/jumpToCursorPosition.d.ts +0 -2
  799. package/dist/src/_internal/extension/inlineEdits/common/jumpToCursorPosition.d.ts.map +0 -1
  800. package/dist/src/_internal/extension/inlineEdits/common/jumpToCursorPosition.js.map +0 -1
@@ -47,30 +47,41 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
47
47
  };
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
49
  exports.ChatMLFetcherImpl = exports.AbstractChatMLFetcher = void 0;
50
+ exports.createTelemetryData = createTelemetryData;
51
+ exports.locationToIntent = locationToIntent;
50
52
  const prompt_tsx_1 = require("@vscode/prompt-tsx");
53
+ const authentication_1 = require("../../../platform/authentication/common/authentication");
51
54
  const chatMLFetcher_1 = require("../../../platform/chat/common/chatMLFetcher");
55
+ const chatQuotaService_1 = require("../../../platform/chat/common/chatQuotaService");
52
56
  const commonTypes_1 = require("../../../platform/chat/common/commonTypes");
53
57
  const conversationOptions_1 = require("../../../platform/chat/common/conversationOptions");
54
58
  const globalStringUtils_1 = require("../../../platform/chat/common/globalStringUtils");
59
+ const interactionService_1 = require("../../../platform/chat/common/interactionService");
55
60
  const configurationService_1 = require("../../../platform/configuration/common/configurationService");
61
+ const capiClient_1 = require("../../../platform/endpoint/common/capiClient");
56
62
  const autoChatEndpoint_1 = require("../../../platform/endpoint/node/autoChatEndpoint");
57
63
  const logService_1 = require("../../../platform/log/common/logService");
64
+ const fetch_1 = require("../../../platform/networking/common/fetch");
58
65
  const fetcherService_1 = require("../../../platform/networking/common/fetcherService");
66
+ const networking_1 = require("../../../platform/networking/common/networking");
59
67
  const openai_1 = require("../../../platform/networking/common/openai");
60
- const fetch_1 = require("../../../platform/openai/node/fetch");
68
+ const chatStream_1 = require("../../../platform/networking/node/chatStream");
69
+ const stream_1 = require("../../../platform/networking/node/stream");
70
+ const fetch_2 = require("../../../platform/openai/node/fetch");
61
71
  const requestLogger_1 = require("../../../platform/requestLogger/node/requestLogger");
72
+ const nullExperimentationService_1 = require("../../../platform/telemetry/common/nullExperimentationService");
62
73
  const telemetry_1 = require("../../../platform/telemetry/common/telemetry");
63
74
  const telemetryData_1 = require("../../../platform/telemetry/common/telemetryData");
64
75
  const anomalyDetection_1 = require("../../../util/common/anomalyDetection");
76
+ const crypto_1 = require("../../../util/common/crypto");
65
77
  const errorsUtil = __importStar(require("../../../util/common/errors"));
66
78
  const errors_1 = require("../../../util/vs/base/common/errors");
67
79
  const event_1 = require("../../../util/vs/base/common/event");
80
+ const strings_1 = require("../../../util/vs/base/common/strings");
68
81
  const uuid_1 = require("../../../util/vs/base/common/uuid");
69
- const instantiation_1 = require("../../../util/vs/platform/instantiation/common/instantiation");
70
82
  const openAIEndpoint_1 = require("../../byok/node/openAIEndpoint");
71
83
  const constants_1 = require("../../common/constants");
72
- const authentication_1 = require("../../../platform/authentication/common/authentication");
73
- const strings_1 = require("../../../util/vs/base/common/strings");
84
+ const chatMLFetcherTelemetry_1 = require("./chatMLFetcherTelemetry");
74
85
  class AbstractChatMLFetcher {
75
86
  constructor(options) {
76
87
  this.options = options;
@@ -99,14 +110,18 @@ class AbstractChatMLFetcher {
99
110
  }
100
111
  exports.AbstractChatMLFetcher = AbstractChatMLFetcher;
101
112
  let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
102
- constructor(_fetcherService, _telemetryService, _requestLogger, _logService, _authenticationService, _instantiationService, options) {
113
+ constructor(_fetcherService, _telemetryService, _requestLogger, _logService, _authenticationService, _interactionService, _chatQuotaService, _capiClientService, options, _configurationService, _experimentationService) {
103
114
  super(options);
104
115
  this._fetcherService = _fetcherService;
105
116
  this._telemetryService = _telemetryService;
106
117
  this._requestLogger = _requestLogger;
107
118
  this._logService = _logService;
108
119
  this._authenticationService = _authenticationService;
109
- this._instantiationService = _instantiationService;
120
+ this._interactionService = _interactionService;
121
+ this._chatQuotaService = _chatQuotaService;
122
+ this._capiClientService = _capiClientService;
123
+ this._configurationService = _configurationService;
124
+ this._experimentationService = _experimentationService;
110
125
  }
111
126
  /**
112
127
  * Note: the returned array of strings may be less than `n` (e.g., in case there were errors during streaming)
@@ -130,7 +145,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
130
145
  delete requestOptions['prediction'];
131
146
  }
132
147
  const postOptions = this.preparePostOptions(requestOptions);
133
- const requestBody = await chatEndpoint.createRequestBody({
148
+ const requestBody = chatEndpoint.createRequestBody({
134
149
  ...opts,
135
150
  requestId: ourRequestId,
136
151
  postOptions
@@ -151,19 +166,22 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
151
166
  let tokenCount = -1;
152
167
  const streamRecorder = new chatMLFetcher_1.FetchStreamRecorder(finishedCb);
153
168
  const enableRetryOnError = opts.enableRetryOnError ?? opts.enableRetryOnFilter;
169
+ let usernameToScrub;
154
170
  try {
155
171
  let response;
156
172
  const payloadValidationResult = isValidChatPayload(opts.messages, postOptions);
157
173
  if (!payloadValidationResult.isValid) {
158
174
  response = {
159
- type: fetch_1.FetchResponseKind.Failed,
175
+ type: fetch_2.FetchResponseKind.Failed,
160
176
  modelRequestId: undefined,
161
- failKind: fetch_1.ChatFailKind.ValidationFailed,
177
+ failKind: fetch_2.ChatFailKind.ValidationFailed,
162
178
  reason: payloadValidationResult.reason,
163
179
  };
164
180
  }
165
181
  else {
166
- response = await this._instantiationService.invokeFunction(accessor => (0, fetch_1.fetchAndStreamChat)(accessor, chatEndpoint, requestBody, baseTelemetry, streamRecorder.callback, requestOptions.secretKey, opts.location, ourRequestId, postOptions.n, userInitiatedRequest, token, telemetryProperties, opts.useFetcher));
182
+ const copilotToken = await this._authenticationService.getCopilotToken();
183
+ usernameToScrub = copilotToken.username;
184
+ response = await this._fetchAndStreamChat(chatEndpoint, requestBody, baseTelemetry, streamRecorder.callback, requestOptions.secretKey, copilotToken, opts.location, ourRequestId, postOptions.n, token, userInitiatedRequest, telemetryProperties, opts.useFetcher);
167
185
  tokenCount = await chatEndpoint.acquireTokenizer().countMessagesTokens(messages);
168
186
  const extensionId = source?.extensionId ?? constants_1.EXTENSION_ID;
169
187
  this._onDidMakeChatMLRequest.fire({
@@ -176,7 +194,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
176
194
  const timeToFirstToken = Date.now() - baseTelemetry.issuedTime;
177
195
  pendingLoggedChatRequest?.markTimeToFirstToken(timeToFirstToken);
178
196
  switch (response.type) {
179
- case fetch_1.FetchResponseKind.Success: {
197
+ case fetch_2.FetchResponseKind.Success: {
180
198
  const result = await this.processSuccessfulResponse(response, messages, requestBody, ourRequestId, maxResponseTokens, tokenCount, timeToFirstToken, streamRecorder, baseTelemetry, chatEndpoint, userInitiatedRequest);
181
199
  // Handle FilteredRetry case with augmented messages
182
200
  if (result.type === commonTypes_1.ChatFetchResponseType.FilteredRetry) {
@@ -226,15 +244,17 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
226
244
  pendingLoggedChatRequest?.resolve(result, streamRecorder.deltas);
227
245
  return result;
228
246
  }
229
- case fetch_1.FetchResponseKind.Canceled:
230
- this._sendCancellationTelemetry({
247
+ case fetch_2.FetchResponseKind.Canceled:
248
+ chatMLFetcherTelemetry_1.ChatMLFetcherTelemetrySender.sendCancellationTelemetry(this._telemetryService, {
231
249
  source: telemetryProperties.messageSource ?? 'unknown',
232
250
  requestId: ourRequestId,
233
251
  model: chatEndpoint.model,
234
252
  apiType: chatEndpoint.apiType,
235
253
  associatedRequestId: telemetryProperties.associatedRequestId,
236
- ...(telemetryProperties.retryAfterErrorCategory ? { retryAfterErrorCategory: telemetryProperties.retryAfterErrorCategory } : {}),
237
- ...(telemetryProperties.retryAfterFilterCategory ? { retryAfterFilterCategory: telemetryProperties.retryAfterFilterCategory } : {}),
254
+ retryAfterErrorCategory: telemetryProperties.retryAfterErrorCategory,
255
+ retryAfterError: telemetryProperties.retryAfterError,
256
+ connectivityTestError: telemetryProperties.connectivityTestError,
257
+ retryAfterFilterCategory: telemetryProperties.retryAfterFilterCategory,
238
258
  }, {
239
259
  totalTokenMax: chatEndpoint.modelMaxPromptTokens ?? -1,
240
260
  promptTokenCount: tokenCount,
@@ -248,9 +268,9 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
248
268
  });
249
269
  pendingLoggedChatRequest?.resolveWithCancelation();
250
270
  return this.processCanceledResponse(response, ourRequestId);
251
- case fetch_1.FetchResponseKind.Failed: {
271
+ case fetch_2.FetchResponseKind.Failed: {
252
272
  const processed = this.processFailedResponse(response, ourRequestId);
253
- this._sendResponseErrorTelemetry(processed, telemetryProperties, ourRequestId, chatEndpoint, requestBody, tokenCount, maxResponseTokens, timeToFirstToken, this.filterImageMessages(messages));
273
+ chatMLFetcherTelemetry_1.ChatMLFetcherTelemetrySender.sendResponseErrorTelemetry(this._telemetryService, processed, telemetryProperties, chatEndpoint, requestBody, tokenCount, maxResponseTokens, timeToFirstToken, this.filterImageMessages(messages));
254
274
  pendingLoggedChatRequest?.resolve(processed);
255
275
  return processed;
256
276
  }
@@ -258,38 +278,59 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
258
278
  }
259
279
  catch (err) {
260
280
  const timeToError = Date.now() - baseTelemetry.issuedTime;
261
- const processed = this.processError(err, ourRequestId);
262
- if (['darwin', 'linux'].includes(process.platform) && processed.type === commonTypes_1.ChatFetchResponseType.NetworkError && processed.reason.indexOf('net::ERR_NETWORK_CHANGED') !== -1) {
263
- if (enableRetryOnError) {
264
- this._logService.info('Retrying chat request with node-fetch after net::ERR_NETWORK_CHANGED error.');
265
- streamRecorder.callback('', 0, { text: '', retryReason: 'network_error' });
266
- // Retry with other fetchers
267
- const retryResult = await this.fetchMany({
268
- ...opts,
269
- debugName: 'retry-error-' + debugName,
270
- messages,
271
- finishedCb,
272
- location,
273
- endpoint: chatEndpoint,
274
- source,
275
- requestOptions,
276
- userInitiatedRequest: false, // do not mark the retry as user initiated
277
- telemetryProperties: { ...telemetryProperties, retryAfterErrorCategory: 'electron-network-changed' },
278
- enableRetryOnFilter: opts.enableRetryOnFilter,
279
- enableRetryOnError: false,
280
- useFetcher: 'node-fetch',
281
- }, token);
282
- pendingLoggedChatRequest?.resolve(retryResult, streamRecorder.deltas);
283
- return retryResult;
281
+ const processed = this.processError(err, ourRequestId, usernameToScrub);
282
+ let connectivityTestError = telemetryProperties.connectivityTestError;
283
+ if (processed.type === commonTypes_1.ChatFetchResponseType.NetworkError && enableRetryOnError) {
284
+ // Keep existing handling of net::ERR_NETWORK_CHANGED: https://github.com/microsoft/vscode/issues/260297
285
+ const isNetworkChangedError = ['darwin', 'linux'].includes(process.platform) && processed.reason.indexOf('net::ERR_NETWORK_CHANGED') !== -1;
286
+ const isRetryNetworkErrorEnabled = this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.RetryNetworkErrors, this._experimentationService);
287
+ if (isNetworkChangedError || isRetryNetworkErrorEnabled) {
288
+ const useFetcher = isNetworkChangedError ? 'node-fetch' : opts.useFetcher;
289
+ this._logService.info(`Retrying chat request with ${useFetcher || 'default'} fetcher after: ${processed.reasonDetail || processed.reason}`);
290
+ // Keep existing handling of net::ERR_NETWORK_CHANGED if setting is not enabled: https://github.com/microsoft/vscode/issues/260297
291
+ const connectivity = !isRetryNetworkErrorEnabled ? { retryRequest: true } : await this._checkNetworkConnectivity(useFetcher);
292
+ connectivityTestError = connectivity.connectivityTestError ? this.scrubErrorDetail(connectivity.connectivityTestError, usernameToScrub) : undefined;
293
+ if (connectivity.retryRequest) {
294
+ streamRecorder.callback('', 0, { text: '', retryReason: 'network_error' });
295
+ const retryResult = await this.fetchMany({
296
+ ...opts,
297
+ debugName: 'retry-error-' + debugName,
298
+ messages,
299
+ finishedCb,
300
+ location,
301
+ endpoint: chatEndpoint,
302
+ source,
303
+ requestOptions,
304
+ userInitiatedRequest: false, // do not mark the retry as user initiated
305
+ telemetryProperties: {
306
+ ...telemetryProperties,
307
+ retryAfterErrorCategory: processed.reasonDetail || processed.reason,
308
+ retryAfterError: processed.reasonDetail || processed.reason,
309
+ connectivityTestError,
310
+ },
311
+ enableRetryOnFilter: opts.enableRetryOnFilter,
312
+ enableRetryOnError: false,
313
+ useFetcher,
314
+ }, token);
315
+ pendingLoggedChatRequest?.resolve(retryResult, streamRecorder.deltas);
316
+ return retryResult;
317
+ }
318
+ else {
319
+ this._logService.info(`Not retrying chat request as network connectivity could not be re-established.`);
320
+ }
284
321
  }
285
322
  }
286
323
  if (processed.type === commonTypes_1.ChatFetchResponseType.Canceled) {
287
- this._sendCancellationTelemetry({
324
+ chatMLFetcherTelemetry_1.ChatMLFetcherTelemetrySender.sendCancellationTelemetry(this._telemetryService, {
288
325
  source: telemetryProperties.messageSource ?? 'unknown',
289
326
  requestId: ourRequestId,
290
327
  model: chatEndpoint.model,
291
328
  apiType: chatEndpoint.apiType,
292
- associatedRequestId: telemetryProperties.associatedRequestId
329
+ associatedRequestId: telemetryProperties.associatedRequestId,
330
+ retryAfterErrorCategory: telemetryProperties.retryAfterErrorCategory,
331
+ retryAfterError: telemetryProperties.retryAfterError,
332
+ connectivityTestError,
333
+ retryAfterFilterCategory: telemetryProperties.retryAfterFilterCategory,
293
334
  }, {
294
335
  totalTokenMax: chatEndpoint.modelMaxPromptTokens ?? -1,
295
336
  promptTokenCount: tokenCount,
@@ -302,170 +343,407 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
302
343
  });
303
344
  }
304
345
  else {
305
- this._sendResponseErrorTelemetry(processed, telemetryProperties, ourRequestId, chatEndpoint, requestBody, tokenCount, maxResponseTokens, timeToError, this.filterImageMessages(messages));
346
+ chatMLFetcherTelemetry_1.ChatMLFetcherTelemetrySender.sendResponseErrorTelemetry(this._telemetryService, processed, { ...telemetryProperties, connectivityTestError }, chatEndpoint, requestBody, tokenCount, maxResponseTokens, timeToError, this.filterImageMessages(messages));
306
347
  }
307
348
  pendingLoggedChatRequest?.resolve(processed);
308
349
  return processed;
309
350
  }
310
351
  }
311
- _sendCancellationTelemetry({ source, requestId, model, apiType, associatedRequestId }, { totalTokenMax, promptTokenCount, tokenCountMax, timeToFirstToken, timeToFirstTokenEmitted, timeToCancelled, isVisionRequest, isBYOK, isAuto }) {
312
- /* __GDPR__
313
- "response.cancelled" : {
314
- "owner": "digitarald",
315
- "comment": "Report canceled service responses for quality.",
316
- "model": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Model selection for the response" },
317
- "apiType": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "API type for the response- chat completions or responses" },
318
- "source": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Source for why the request was made" },
319
- "requestId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Id of the request" },
320
- "associatedRequestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Another request ID that this request is associated with (eg, the originating request of a summarization request)." },
321
- "totalTokenMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum total token window", "isMeasurement": true },
322
- "promptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens", "isMeasurement": true },
323
- "tokenCountMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum generated tokens", "isMeasurement": true },
324
- "timeToFirstToken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
325
- "timeToFirstTokenEmitted": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token emitted (visible text)", "isMeasurement": true },
326
- "timeToCancelled": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
327
- "isVisionRequest": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Whether the request was for a vision model", "isMeasurement": true },
328
- "isBYOK": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for a BYOK model", "isMeasurement": true },
329
- "isAuto": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for an Auto model", "isMeasurement": true },
330
- "retryAfterErrorCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response failed and this is a retry attempt, this contains the error category." },
331
- "retryAfterFilterCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response was filtered and this is a retry attempt, this contains the original filtered content category." }
352
+ async _checkNetworkConnectivity(useFetcher) {
353
+ // Ping CAPI to check network connectivity before retrying
354
+ const delays = [1000, 10000, 10000];
355
+ let connectivityTestError = undefined;
356
+ for (const delay of delays) {
357
+ this._logService.info(`Waiting ${delay}ms before pinging CAPI to check network connectivity...`);
358
+ await new Promise(resolve => setTimeout(resolve, delay));
359
+ try {
360
+ const isGHEnterprise = this._capiClientService.dotcomAPIURL !== 'https://api.github.com';
361
+ const url = this._capiClientService.capiPingURL;
362
+ const headers = await this._getAuthHeaders(isGHEnterprise, url);
363
+ const res = await this._fetcherService.fetch(url, {
364
+ headers,
365
+ useFetcher,
366
+ });
367
+ if (res.status >= 200 && res.status < 300) {
368
+ this._logService.info(`CAPI ping successful, proceeding with chat request retry...`);
369
+ return { retryRequest: true, connectivityTestError };
370
+ }
371
+ else {
372
+ connectivityTestError = `Status ${res.status}: ${res.statusText}`;
373
+ this._logService.info(`CAPI ping returned status ${res.status}, retrying ping...`);
374
+ }
332
375
  }
333
- */
334
- this._telemetryService.sendTelemetryEvent('response.cancelled', { github: true, microsoft: true }, {
335
- apiType,
336
- source,
337
- requestId,
338
- model,
339
- associatedRequestId,
340
- }, {
341
- totalTokenMax,
342
- promptTokenCount,
343
- tokenCountMax,
344
- timeToFirstToken,
345
- timeToFirstTokenEmitted,
346
- timeToCancelled,
347
- isVisionRequest,
348
- isBYOK,
349
- isAuto
350
- });
376
+ catch (err) {
377
+ connectivityTestError = (0, logService_1.collectSingleLineErrorMessage)(err);
378
+ this._logService.info(`CAPI ping failed with error, retrying ping: ${connectivityTestError}`);
379
+ }
380
+ }
381
+ return { retryRequest: false, connectivityTestError };
351
382
  }
352
- _sendResponseErrorTelemetry(processed, telemetryProperties, ourRequestId, chatEndpointInfo, requestBody, tokenCount, maxResponseTokens, timeToFirstToken, isVisionRequest) {
353
- /* __GDPR__
354
- "response.error" : {
355
- "owner": "digitarald",
356
- "comment": "Report quality issue for when a service response failed.",
357
- "type": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Type of issue" },
358
- "reason": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reason of issue" },
359
- "model": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Model selection for the response" },
360
- "apiType": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "API type for the response- chat completions or responses" },
361
- "source": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Source for why the request was made" },
362
- "requestId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Id of the request" },
363
- "associatedRequestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Another request ID that this request is associated with (eg, the originating request of a summarization request)." },
364
- "reasoningEffort": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning effort level" },
365
- "reasoningSummary": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning summary level" },
366
- "totalTokenMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum total token window", "isMeasurement": true },
367
- "promptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens", "isMeasurement": true },
368
- "tokenCountMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum generated tokens", "isMeasurement": true },
369
- "timeToFirstToken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
370
- "timeToFirstTokenEmitted": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token emitted (visible text)", "isMeasurement": true },
371
- "isVisionRequest": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Whether the request was for a vision model", "isMeasurement": true },
372
- "isBYOK": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for a BYOK model", "isMeasurement": true },
373
- "isAuto": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for an Auto model", "isMeasurement": true },
374
- "retryAfterErrorCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response failed and this is a retry attempt, this contains the error category." },
375
- "retryAfterFilterCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response was filtered and this is a retry attempt, this contains the original filtered content category." }
383
+ async _getAuthHeaders(isGHEnterprise, url) {
384
+ const authHeaders = {};
385
+ if (isGHEnterprise) {
386
+ let token = '';
387
+ if (url === this._capiClientService.dotcomAPIURL) {
388
+ token = this._authenticationService.anyGitHubSession?.accessToken || '';
376
389
  }
377
- */
378
- this._telemetryService.sendTelemetryEvent('response.error', { github: true, microsoft: true }, {
379
- type: processed.type,
380
- reason: processed.reasonDetail || processed.reason,
381
- source: telemetryProperties?.messageSource ?? 'unknown',
382
- requestId: ourRequestId,
383
- model: chatEndpointInfo.model,
384
- apiType: chatEndpointInfo.apiType,
385
- reasoningEffort: requestBody.reasoning?.effort,
386
- reasoningSummary: requestBody.reasoning?.summary,
387
- associatedRequestId: telemetryProperties?.associatedRequestId,
388
- ...(telemetryProperties?.retryAfterErrorCategory ? { retryAfterErrorCategory: telemetryProperties.retryAfterErrorCategory } : {}),
389
- ...(telemetryProperties?.retryAfterFilterCategory ? { retryAfterFilterCategory: telemetryProperties.retryAfterFilterCategory } : {})
390
+ else {
391
+ try {
392
+ token = (await this._authenticationService.getCopilotToken()).token;
393
+ }
394
+ catch (_err) {
395
+ // Ignore error
396
+ token = '';
397
+ }
398
+ }
399
+ authHeaders['Authorization'] = `Bearer ${token}`;
400
+ }
401
+ return authHeaders;
402
+ }
403
+ async _fetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, userInitiatedRequest, telemetryProperties, useFetcher) {
404
+ if (cancellationToken.isCancellationRequested) {
405
+ return { type: fetch_2.FetchResponseKind.Canceled, reason: 'before fetch request' };
406
+ }
407
+ this._logService.debug(`modelMaxPromptTokens ${chatEndpointInfo.modelMaxPromptTokens}`);
408
+ this._logService.debug(`modelMaxResponseTokens ${request.max_tokens ?? 2048}`);
409
+ this._logService.debug(`chat model ${chatEndpointInfo.model}`);
410
+ secretKey ??= copilotToken.token;
411
+ if (!secretKey) {
412
+ // If no key is set we error
413
+ const urlOrRequestMetadata = (0, networking_1.stringifyUrlOrRequestMetadata)(chatEndpointInfo.urlOrRequestMetadata);
414
+ this._logService.error(`Failed to send request to ${urlOrRequestMetadata} due to missing key`);
415
+ (0, stream_1.sendCommunicationErrorTelemetry)(this._telemetryService, `Failed to send request to ${urlOrRequestMetadata} due to missing key`);
416
+ return {
417
+ type: fetch_2.FetchResponseKind.Failed,
418
+ modelRequestId: undefined,
419
+ failKind: fetch_2.ChatFailKind.TokenExpiredOrInvalid,
420
+ reason: 'key is missing'
421
+ };
422
+ }
423
+ // Generate unique ID to link input and output messages
424
+ const modelCallId = (0, uuid_1.generateUuid)();
425
+ const response = await this._fetchWithInstrumentation(chatEndpointInfo, ourRequestId, request, secretKey, location, cancellationToken, userInitiatedRequest, { ...telemetryProperties, modelCallId }, useFetcher);
426
+ if (cancellationToken.isCancellationRequested) {
427
+ const body = await response.body();
428
+ try {
429
+ // Destroy the stream so that the server is hopefully notified we don't want any more data
430
+ // and can cancel/forget about the request itself.
431
+ body.destroy();
432
+ }
433
+ catch (e) {
434
+ this._logService.error(e, `Error destroying stream`);
435
+ this._telemetryService.sendGHTelemetryException(e, 'Error destroying stream');
436
+ }
437
+ return { type: fetch_2.FetchResponseKind.Canceled, reason: 'after fetch request' };
438
+ }
439
+ if (response.status === 200 && this._authenticationService.copilotToken?.isFreeUser && this._authenticationService.copilotToken?.isChatQuotaExceeded) {
440
+ this._authenticationService.resetCopilotToken();
441
+ }
442
+ if (response.status !== 200) {
443
+ const telemetryData = createTelemetryData(chatEndpointInfo, location, ourRequestId);
444
+ this._logService.info('Request ID for failed request: ' + ourRequestId);
445
+ return this._handleError(telemetryData, response, ourRequestId);
446
+ }
447
+ // Extend baseTelemetryData with modelCallId for output messages
448
+ const extendedBaseTelemetryData = baseTelemetryData.extendedBy({ modelCallId });
449
+ const chatCompletions = await chatEndpointInfo.processResponseFromChatEndpoint(this._telemetryService, this._logService, response, nChoices ?? /* OpenAI's default */ 1, finishedCb, extendedBaseTelemetryData, cancellationToken);
450
+ // CAPI will return us a Copilot Edits Session Header which is our token to using the speculative decoding endpoint
451
+ // We should store this in the auth service for easy use later
452
+ if (response.headers.get('Copilot-Edits-Session')) {
453
+ this._authenticationService.speculativeDecodingEndpointToken = response.headers.get('Copilot-Edits-Session') ?? undefined;
454
+ }
455
+ this._chatQuotaService.processQuotaHeaders(response.headers);
456
+ return {
457
+ type: fetch_2.FetchResponseKind.Success,
458
+ chatCompletions,
459
+ };
460
+ }
461
+ async _fetchWithInstrumentation(chatEndpoint, ourRequestId, request, secretKey, location, cancellationToken, userInitiatedRequest, telemetryProperties, useFetcher) {
462
+ // If request contains an image, we include this header.
463
+ const additionalHeaders = {
464
+ 'X-Interaction-Id': this._interactionService.interactionId,
465
+ 'X-Initiator': userInitiatedRequest ? 'user' : 'agent', // Agent = a system request / not the primary user query.
466
+ };
467
+ if (request.messages?.some((m) => Array.isArray(m.content) ? m.content.some(c => 'image_url' in c) : false) && chatEndpoint.supportsVision) {
468
+ additionalHeaders['Copilot-Vision-Request'] = 'true';
469
+ }
470
+ const telemetryData = telemetryData_1.TelemetryData.createAndMarkAsIssued({
471
+ endpoint: 'completions',
472
+ engineName: 'chat',
473
+ uiKind: commonTypes_1.ChatLocation.toString(location),
474
+ ...telemetryProperties // This includes the modelCallId from fetchAndStreamChat
390
475
  }, {
391
- totalTokenMax: chatEndpointInfo.modelMaxPromptTokens ?? -1,
392
- promptTokenCount: tokenCount,
393
- tokenCountMax: maxResponseTokens,
394
- timeToFirstToken,
395
- isVisionRequest: isVisionRequest ? 1 : -1,
396
- isBYOK: (0, openAIEndpoint_1.isBYOKModel)(chatEndpointInfo),
397
- isAuto: (0, autoChatEndpoint_1.isAutoModel)(chatEndpointInfo)
476
+ maxTokenWindow: chatEndpoint.modelMaxPromptTokens
398
477
  });
478
+ for (const [key, value] of Object.entries(request)) {
479
+ if (key === 'messages' || key === 'input') {
480
+ continue;
481
+ } // Skip messages (PII)
482
+ telemetryData.properties[`request.option.${key}`] = JSON.stringify(value) ?? 'undefined';
483
+ }
484
+ // The request ID we are passed in is sent in the request to the proxy, and included in our pre-request telemetry.
485
+ // We hope (but do not rely on) that the model will use the same ID in the response, allowing us to correlate
486
+ // the request and response.
487
+ telemetryData.properties['headerRequestId'] = ourRequestId;
488
+ this._telemetryService.sendGHTelemetryEvent('request.sent', telemetryData.properties, telemetryData.measurements);
489
+ const requestStart = Date.now();
490
+ const intent = locationToIntent(location);
491
+ // Wrap the Promise with success/error callbacks so we can log/measure it
492
+ return (0, networking_1.postRequest)(this._fetcherService, this._telemetryService, this._capiClientService, chatEndpoint, secretKey, await (0, crypto_1.createRequestHMAC)(process.env.HMAC_SECRET), intent, ourRequestId, request, additionalHeaders, cancellationToken, useFetcher).then(response => {
493
+ const apim = response.headers.get('apim-request-id');
494
+ if (apim) {
495
+ this._logService.debug(`APIM request id: ${apim}`);
496
+ }
497
+ const ghRequestId = response.headers.get('x-github-request-id');
498
+ if (ghRequestId) {
499
+ this._logService.debug(`GH request id: ${ghRequestId}`);
500
+ }
501
+ // This ID is hopefully the one the same as ourRequestId, but it is not guaranteed.
502
+ // If they are different then we will override the original one we set in telemetryData above.
503
+ const modelRequestId = (0, fetch_1.getRequestId)(response, undefined);
504
+ telemetryData.extendWithRequestId(modelRequestId);
505
+ // TODO: Add response length (requires parsing)
506
+ const totalTimeMs = Date.now() - requestStart;
507
+ telemetryData.measurements.totalTimeMs = totalTimeMs;
508
+ this._logService.debug(`request.response: [${(0, networking_1.stringifyUrlOrRequestMetadata)(chatEndpoint.urlOrRequestMetadata)}], took ${totalTimeMs} ms`);
509
+ this._telemetryService.sendGHTelemetryEvent('request.response', telemetryData.properties, telemetryData.measurements);
510
+ return response;
511
+ })
512
+ .catch(error => {
513
+ if (this._fetcherService.isAbortError(error)) {
514
+ // If we cancelled a network request, we don't want to log a `request.error`
515
+ throw error;
516
+ }
517
+ const warningTelemetry = telemetryData.extendedBy({ error: 'Network exception' });
518
+ this._telemetryService.sendGHTelemetryEvent('request.shownWarning', warningTelemetry.properties, warningTelemetry.measurements);
519
+ telemetryData.properties.code = String(error.code ?? '');
520
+ telemetryData.properties.errno = String(error.errno ?? '');
521
+ telemetryData.properties.message = String(error.message ?? '');
522
+ telemetryData.properties.type = String(error.type ?? '');
523
+ const totalTimeMs = Date.now() - requestStart;
524
+ telemetryData.measurements.totalTimeMs = totalTimeMs;
525
+ this._logService.debug(`request.response: [${(0, networking_1.stringifyUrlOrRequestMetadata)(chatEndpoint.urlOrRequestMetadata)}] took ${totalTimeMs} ms`);
526
+ this._telemetryService.sendGHTelemetryEvent('request.error', telemetryData.properties, telemetryData.measurements);
527
+ throw error;
528
+ })
529
+ .finally(() => {
530
+ (0, chatStream_1.sendEngineMessagesTelemetry)(this._telemetryService, request.messages ?? [], telemetryData, false, this._logService);
531
+ });
532
+ }
533
+ async _handleError(telemetryData, response, requestId) {
534
+ const modelRequestIdObj = (0, fetch_1.getRequestId)(response, undefined);
535
+ requestId = modelRequestIdObj.headerRequestId || requestId;
536
+ modelRequestIdObj.headerRequestId = requestId;
537
+ telemetryData.properties.error = `Response status was ${response.status}`;
538
+ telemetryData.properties.status = String(response.status);
539
+ this._telemetryService.sendGHTelemetryEvent('request.shownWarning', telemetryData.properties, telemetryData.measurements);
540
+ const text = await response.text();
541
+ let jsonData;
542
+ try {
543
+ jsonData = JSON.parse(text);
544
+ jsonData = jsonData?.error ?? jsonData; // Extract nested error object if it exists
545
+ }
546
+ catch {
547
+ // JSON parsing failed, it's not json content.
548
+ }
549
+ const reasonNoText = `Server error: ${response.status}`;
550
+ const reason = `${reasonNoText} ${text}`;
551
+ this._logService.error(reason);
552
+ if (400 <= response.status && response.status < 500) {
553
+ if (response.status === 400 && text.includes('off_topic')) {
554
+ return {
555
+ type: fetch_2.FetchResponseKind.Failed,
556
+ modelRequestId: modelRequestIdObj,
557
+ failKind: fetch_2.ChatFailKind.OffTopic,
558
+ reason: 'filtered as off_topic by intent classifier: message was not programming related',
559
+ };
560
+ }
561
+ if (response.status === 401 && text.includes('authorize_url') && jsonData?.authorize_url) {
562
+ return {
563
+ type: fetch_2.FetchResponseKind.Failed,
564
+ modelRequestId: modelRequestIdObj,
565
+ failKind: fetch_2.ChatFailKind.AgentUnauthorized,
566
+ reason: response.statusText || response.statusText,
567
+ data: jsonData
568
+ };
569
+ }
570
+ if (response.status === 400 && jsonData?.code === 'previous_response_not_found') {
571
+ return {
572
+ type: fetch_2.FetchResponseKind.Failed,
573
+ modelRequestId: modelRequestIdObj,
574
+ failKind: fetch_2.ChatFailKind.InvalidPreviousResponseId,
575
+ reason: jsonData.message || 'Invalid previous response ID',
576
+ data: jsonData,
577
+ };
578
+ }
579
+ if (response.status === 401 || response.status === 403) {
580
+ // Token has expired or invalid, fetch a new one on next request
581
+ // TODO(drifkin): these actions should probably happen in vsc specific code
582
+ this._authenticationService.resetCopilotToken(response.status);
583
+ return {
584
+ type: fetch_2.FetchResponseKind.Failed,
585
+ modelRequestId: modelRequestIdObj,
586
+ failKind: fetch_2.ChatFailKind.TokenExpiredOrInvalid,
587
+ reason: jsonData?.message || `token expired or invalid: ${response.status}`,
588
+ };
589
+ }
590
+ if (response.status === 402) {
591
+ // When we receive a 402, we have exceed a quota
592
+ // This is stored on the token so let's refresh it
593
+ this._authenticationService.resetCopilotToken(response.status);
594
+ const retryAfter = response.headers.get('retry-after');
595
+ const convertToDate = (retryAfterString) => {
596
+ if (!retryAfterString) {
597
+ return undefined;
598
+ }
599
+ // Try treating it as a date
600
+ const retryAfterDate = new Date(retryAfterString);
601
+ if (!isNaN(retryAfterDate.getDate())) {
602
+ return retryAfterDate;
603
+ }
604
+ // It is not a date, try treating it as a duration from the current date
605
+ const retryAfterDuration = parseInt(retryAfterString, 10);
606
+ if (isNaN(retryAfterDuration)) {
607
+ return undefined;
608
+ }
609
+ return new Date(Date.now() + retryAfterDuration * 1000);
610
+ };
611
+ const retryAfterDate = convertToDate(retryAfter);
612
+ return {
613
+ type: fetch_2.FetchResponseKind.Failed,
614
+ modelRequestId: modelRequestIdObj,
615
+ failKind: fetch_2.ChatFailKind.QuotaExceeded,
616
+ reason: jsonData?.message ?? 'Free tier quota exceeded',
617
+ data: {
618
+ capiError: jsonData,
619
+ retryAfter: retryAfterDate
620
+ }
621
+ };
622
+ }
623
+ if (response.status === 404) {
624
+ let errorReason;
625
+ // Check if response body is valid JSON
626
+ if (!jsonData) {
627
+ errorReason = text;
628
+ }
629
+ else {
630
+ errorReason = JSON.stringify(jsonData);
631
+ }
632
+ return {
633
+ type: fetch_2.FetchResponseKind.Failed,
634
+ modelRequestId: modelRequestIdObj,
635
+ failKind: fetch_2.ChatFailKind.NotFound,
636
+ reason: errorReason
637
+ };
638
+ }
639
+ if (response.status === 422) {
640
+ return {
641
+ type: fetch_2.FetchResponseKind.Failed,
642
+ modelRequestId: modelRequestIdObj,
643
+ failKind: fetch_2.ChatFailKind.ContentFilter,
644
+ reason: 'Filtered by Responsible AI Service\n\n' + text,
645
+ };
646
+ }
647
+ if (response.status === 424) {
648
+ return {
649
+ type: fetch_2.FetchResponseKind.Failed,
650
+ modelRequestId: modelRequestIdObj,
651
+ failKind: fetch_2.ChatFailKind.AgentFailedDependency,
652
+ reason: text
653
+ };
654
+ }
655
+ if (response.status === 429) {
656
+ let rateLimitReason = text;
657
+ rateLimitReason = jsonData?.message ?? jsonData?.code;
658
+ if (text.includes('extension_blocked') && jsonData?.code === 'extension_blocked' && jsonData?.type === 'rate_limit_error') {
659
+ return {
660
+ type: fetch_2.FetchResponseKind.Failed,
661
+ modelRequestId: modelRequestIdObj,
662
+ failKind: fetch_2.ChatFailKind.ExtensionBlocked,
663
+ reason: 'Extension blocked',
664
+ data: {
665
+ ...jsonData?.message,
666
+ retryAfter: response.headers.get('retry-after'),
667
+ }
668
+ };
669
+ }
670
+ // HTTP 429 Too Many Requests
671
+ return {
672
+ type: fetch_2.FetchResponseKind.Failed,
673
+ modelRequestId: modelRequestIdObj,
674
+ failKind: fetch_2.ChatFailKind.RateLimited,
675
+ reason: rateLimitReason,
676
+ data: {
677
+ retryAfter: response.headers.get('retry-after'),
678
+ rateLimitKey: response.headers.get('x-ratelimit-exceeded'),
679
+ capiError: jsonData
680
+ }
681
+ };
682
+ }
683
+ if (response.status === 466) {
684
+ this._logService.info(text);
685
+ return {
686
+ type: fetch_2.FetchResponseKind.Failed,
687
+ modelRequestId: modelRequestIdObj,
688
+ failKind: fetch_2.ChatFailKind.ClientNotSupported,
689
+ reason: `client not supported: ${text}`
690
+ };
691
+ }
692
+ if (response.status === 499) {
693
+ this._logService.info('Cancelled by server');
694
+ return {
695
+ type: fetch_2.FetchResponseKind.Failed,
696
+ modelRequestId: modelRequestIdObj,
697
+ failKind: fetch_2.ChatFailKind.ServerCanceled,
698
+ reason: 'canceled by server'
699
+ };
700
+ }
701
+ }
702
+ else if (500 <= response.status && response.status < 600) {
703
+ if (response.status === 503) {
704
+ return {
705
+ type: fetch_2.FetchResponseKind.Failed,
706
+ modelRequestId: modelRequestIdObj,
707
+ failKind: fetch_2.ChatFailKind.RateLimited,
708
+ reason: 'Upstream provider rate limit hit',
709
+ data: {
710
+ retryAfter: null,
711
+ rateLimitKey: null,
712
+ capiError: { code: 'upstream_provider_rate_limit', message: text }
713
+ }
714
+ };
715
+ }
716
+ // HTTP 5xx Server Error
717
+ return {
718
+ type: fetch_2.FetchResponseKind.Failed,
719
+ modelRequestId: modelRequestIdObj,
720
+ failKind: fetch_2.ChatFailKind.ServerError,
721
+ reason: reasonNoText,
722
+ };
723
+ }
724
+ this._logService.error(`Request Failed: ${response.status} ${text}`);
725
+ (0, stream_1.sendCommunicationErrorTelemetry)(this._telemetryService, 'Unhandled status from server: ' + response.status, text);
726
+ return {
727
+ type: fetch_2.FetchResponseKind.Failed,
728
+ modelRequestId: modelRequestIdObj,
729
+ failKind: fetch_2.ChatFailKind.Unknown,
730
+ reason: `Request Failed: ${response.status} ${text}`
731
+ };
399
732
  }
400
733
  async processSuccessfulResponse(response, messages, requestBody, requestId, maxResponseTokens, promptTokenCount, timeToFirstToken, streamRecorder, baseTelemetry, chatEndpointInfo, userInitiatedRequest) {
401
734
  const completions = [];
402
735
  for await (const chatCompletion of response.chatCompletions) {
403
- /* __GDPR__
404
- "response.success" : {
405
- "owner": "digitarald",
406
- "comment": "Report quality details for a successful service response.",
407
- "reason": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reason for why a response finished" },
408
- "filterReason": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reason for why a response was filtered" },
409
- "source": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Source of the initial request" },
410
- "initiatorType": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was initiated by a user or an agent" },
411
- "model": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Model selection for the response" },
412
- "modelInvoked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Actual model invoked for the response" },
413
- "apiType": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "API type for the response- chat completions or responses" },
414
- "requestId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Id of the current turn request" },
415
- "associatedRequestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Another request ID that this request is associated with (eg, the originating request of a summarization request)." },
416
- "reasoningEffort": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning effort level" },
417
- "reasoningSummary": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning summary level" },
418
- "totalTokenMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum total token window", "isMeasurement": true },
419
- "clientPromptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens, locally counted", "isMeasurement": true },
420
- "promptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens, server side counted", "isMeasurement": true },
421
- "promptCacheTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens hitting cache as reported by server", "isMeasurement": true },
422
- "tokenCountMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum generated tokens", "isMeasurement": true },
423
- "tokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of generated tokens", "isMeasurement": true },
424
- "reasoningTokens": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of reasoning tokens", "isMeasurement": true },
425
- "acceptedPredictionTokens": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Number of tokens in the prediction that appeared in the completion", "isMeasurement": true },
426
- "rejectedPredictionTokens": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Number of tokens in the prediction that appeared in the completion", "isMeasurement": true },
427
- "completionTokens": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Number of tokens in the output", "isMeasurement": true },
428
- "timeToFirstToken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
429
- "timeToFirstTokenEmitted": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token emitted (visible text)", "isMeasurement": true },
430
- "timeToComplete": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to complete the request", "isMeasurement": true },
431
- "isVisionRequest": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Whether the request was for a vision model", "isMeasurement": true },
432
- "isBYOK": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for a BYOK model", "isMeasurement": true },
433
- "isAuto": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for an Auto model", "isMeasurement": true },
434
- "retryAfterErrorCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response failed and this is a retry attempt, this contains the error category." },
435
- "retryAfterFilterCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response was filtered and this is a retry attempt, this contains the original filtered content category." }
436
- }
437
- */
438
- this._telemetryService.sendTelemetryEvent('response.success', { github: true, microsoft: true }, {
439
- reason: chatCompletion.finishReason,
440
- filterReason: chatCompletion.filterReason,
441
- source: baseTelemetry?.properties.messageSource ?? 'unknown',
442
- initiatorType: userInitiatedRequest ? 'user' : 'agent',
443
- model: chatEndpointInfo?.model,
444
- modelInvoked: chatCompletion.model,
445
- apiType: chatEndpointInfo?.apiType,
446
- requestId,
447
- associatedRequestId: baseTelemetry?.properties.associatedRequestId,
448
- reasoningEffort: requestBody.reasoning?.effort,
449
- reasoningSummary: requestBody.reasoning?.summary,
450
- ...(baseTelemetry?.properties.retryAfterErrorCategory ? { retryAfterErrorCategory: baseTelemetry.properties.retryAfterErrorCategory } : {}),
451
- ...(baseTelemetry?.properties.retryAfterFilterCategory ? { retryAfterFilterCategory: baseTelemetry.properties.retryAfterFilterCategory } : {}),
452
- }, {
453
- totalTokenMax: chatEndpointInfo?.modelMaxPromptTokens ?? -1,
454
- tokenCountMax: maxResponseTokens,
455
- promptTokenCount: chatCompletion.usage?.prompt_tokens,
456
- promptCacheTokenCount: chatCompletion.usage?.prompt_tokens_details?.cached_tokens,
457
- clientPromptTokenCount: promptTokenCount,
458
- tokenCount: chatCompletion.usage?.total_tokens,
459
- reasoningTokens: chatCompletion.usage?.completion_tokens_details?.reasoning_tokens,
460
- acceptedPredictionTokens: chatCompletion.usage?.completion_tokens_details?.accepted_prediction_tokens,
461
- rejectedPredictionTokens: chatCompletion.usage?.completion_tokens_details?.rejected_prediction_tokens,
462
- completionTokens: chatCompletion.usage?.completion_tokens,
736
+ chatMLFetcherTelemetry_1.ChatMLFetcherTelemetrySender.sendSuccessTelemetry(this._telemetryService, {
737
+ chatCompletion,
738
+ baseTelemetry,
739
+ userInitiatedRequest,
740
+ chatEndpointInfo,
741
+ requestBody,
742
+ maxResponseTokens,
743
+ promptTokenCount,
463
744
  timeToFirstToken,
464
745
  timeToFirstTokenEmitted: (baseTelemetry && streamRecorder.firstTokenEmittedTime) ? streamRecorder.firstTokenEmittedTime - baseTelemetry.issuedTime : -1,
465
- timeToComplete: baseTelemetry ? Date.now() - baseTelemetry.issuedTime : -1,
466
- isVisionRequest: this.filterImageMessages(messages) ? 1 : -1,
467
- isBYOK: (0, openAIEndpoint_1.isBYOKModel)(chatEndpointInfo),
468
- isAuto: (0, autoChatEndpoint_1.isAutoModel)(chatEndpointInfo)
746
+ hasImageMessages: this.filterImageMessages(messages),
469
747
  });
470
748
  if (!this.isRepetitive(chatCompletion, baseTelemetry?.properties)) {
471
749
  completions.push(chatCompletion);
@@ -564,43 +842,43 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
564
842
  processFailedResponse(response, requestId) {
565
843
  const serverRequestId = response.modelRequestId?.gitHubRequestId;
566
844
  const reason = response.reason;
567
- if (response.failKind === fetch_1.ChatFailKind.RateLimited) {
845
+ if (response.failKind === fetch_2.ChatFailKind.RateLimited) {
568
846
  return { type: commonTypes_1.ChatFetchResponseType.RateLimited, reason, requestId, serverRequestId, retryAfter: response.data?.retryAfter, rateLimitKey: (response.data?.rateLimitKey || ''), capiError: response.data?.capiError };
569
847
  }
570
- if (response.failKind === fetch_1.ChatFailKind.QuotaExceeded) {
848
+ if (response.failKind === fetch_2.ChatFailKind.QuotaExceeded) {
571
849
  return { type: commonTypes_1.ChatFetchResponseType.QuotaExceeded, reason, requestId, serverRequestId, retryAfter: response.data?.retryAfter, capiError: response.data?.capiError };
572
850
  }
573
- if (response.failKind === fetch_1.ChatFailKind.OffTopic) {
851
+ if (response.failKind === fetch_2.ChatFailKind.OffTopic) {
574
852
  return { type: commonTypes_1.ChatFetchResponseType.OffTopic, reason, requestId, serverRequestId };
575
853
  }
576
- if (response.failKind === fetch_1.ChatFailKind.TokenExpiredOrInvalid || response.failKind === fetch_1.ChatFailKind.ClientNotSupported || reason.includes('Bad request: ')) {
854
+ if (response.failKind === fetch_2.ChatFailKind.TokenExpiredOrInvalid || response.failKind === fetch_2.ChatFailKind.ClientNotSupported || reason.includes('Bad request: ')) {
577
855
  return { type: commonTypes_1.ChatFetchResponseType.BadRequest, reason, requestId, serverRequestId };
578
856
  }
579
- if (response.failKind === fetch_1.ChatFailKind.ServerError) {
857
+ if (response.failKind === fetch_2.ChatFailKind.ServerError) {
580
858
  return { type: commonTypes_1.ChatFetchResponseType.Failed, reason, requestId, serverRequestId };
581
859
  }
582
- if (response.failKind === fetch_1.ChatFailKind.ContentFilter) {
860
+ if (response.failKind === fetch_2.ChatFailKind.ContentFilter) {
583
861
  return { type: commonTypes_1.ChatFetchResponseType.PromptFiltered, reason, category: openai_1.FilterReason.Prompt, requestId, serverRequestId };
584
862
  }
585
- if (response.failKind === fetch_1.ChatFailKind.AgentUnauthorized) {
863
+ if (response.failKind === fetch_2.ChatFailKind.AgentUnauthorized) {
586
864
  return { type: commonTypes_1.ChatFetchResponseType.AgentUnauthorized, reason, authorizationUrl: response.data.authorize_url, requestId, serverRequestId };
587
865
  }
588
- if (response.failKind === fetch_1.ChatFailKind.AgentFailedDependency) {
866
+ if (response.failKind === fetch_2.ChatFailKind.AgentFailedDependency) {
589
867
  return { type: commonTypes_1.ChatFetchResponseType.AgentFailedDependency, reason, requestId, serverRequestId };
590
868
  }
591
- if (response.failKind === fetch_1.ChatFailKind.ExtensionBlocked) {
869
+ if (response.failKind === fetch_2.ChatFailKind.ExtensionBlocked) {
592
870
  const retryAfter = typeof response.data?.retryAfter === 'number' ? response.data.retryAfter : 300;
593
871
  return { type: commonTypes_1.ChatFetchResponseType.ExtensionBlocked, reason, requestId, retryAfter, learnMoreLink: response.data?.learnMoreLink ?? '', serverRequestId };
594
872
  }
595
- if (response.failKind === fetch_1.ChatFailKind.NotFound) {
873
+ if (response.failKind === fetch_2.ChatFailKind.NotFound) {
596
874
  return { type: commonTypes_1.ChatFetchResponseType.NotFound, reason, requestId, serverRequestId };
597
875
  }
598
- if (response.failKind === fetch_1.ChatFailKind.InvalidPreviousResponseId) {
876
+ if (response.failKind === fetch_2.ChatFailKind.InvalidPreviousResponseId) {
599
877
  return { type: commonTypes_1.ChatFetchResponseType.InvalidStatefulMarker, reason, requestId, serverRequestId };
600
878
  }
601
879
  return { type: commonTypes_1.ChatFetchResponseType.Failed, reason, requestId, serverRequestId };
602
880
  }
603
- processError(err, requestId) {
881
+ processError(err, requestId, usernameToScrub) {
604
882
  const fetcher = this._fetcherService;
605
883
  // If we cancelled a network request, we don't want to log an error
606
884
  if (fetcher.isAbortError(err)) {
@@ -631,7 +909,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
631
909
  this._logService.error(errorsUtil.fromUnknown(err), `Error on conversation request`);
632
910
  this._telemetryService.sendGHTelemetryException(err, 'Error on conversation request');
633
911
  const errorDetail = fetcher.getUserMessageForFetcherError(err);
634
- const scrubbedErrorDetail = this.scrubErrorDetail(errorDetail);
912
+ const scrubbedErrorDetail = this.scrubErrorDetail(errorDetail, usernameToScrub);
635
913
  if (fetcher.isInternetDisconnectedError(err)) {
636
914
  return {
637
915
  type: commonTypes_1.ChatFetchResponseType.NetworkError,
@@ -660,14 +938,12 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
660
938
  };
661
939
  }
662
940
  }
663
- scrubErrorDetail(errorDetail) {
664
- errorDetail = errorDetail.replaceAll(/(logged in as )([^\s]+)/ig, '$1<login>');
665
- const username = this._authenticationService.copilotToken?.username;
666
- if (!username) {
667
- return errorDetail;
668
- }
669
- const regex = new RegExp((0, strings_1.escapeRegExpCharacters)(username), 'ig');
670
- return errorDetail.replaceAll(regex, '<login>');
941
+ scrubErrorDetail(errorDetail, usernameToScrub) {
942
+ if (usernameToScrub) {
943
+ const regex = new RegExp((0, strings_1.escapeRegExpCharacters)(usernameToScrub), 'ig');
944
+ errorDetail = errorDetail.replaceAll(regex, '<login>');
945
+ }
946
+ return errorDetail.replaceAll(/(?<=logged in as )(?!<login>)[^\s]+/ig, '!<login>!'); // marking fallback with !
671
947
  }
672
948
  };
673
949
  exports.ChatMLFetcherImpl = ChatMLFetcherImpl;
@@ -677,8 +953,12 @@ exports.ChatMLFetcherImpl = ChatMLFetcherImpl = __decorate([
677
953
  __param(2, requestLogger_1.IRequestLogger),
678
954
  __param(3, logService_1.ILogService),
679
955
  __param(4, authentication_1.IAuthenticationService),
680
- __param(5, instantiation_1.IInstantiationService),
681
- __param(6, conversationOptions_1.IConversationOptions)
956
+ __param(5, interactionService_1.IInteractionService),
957
+ __param(6, chatQuotaService_1.IChatQuotaService),
958
+ __param(7, capiClient_1.ICAPIClientService),
959
+ __param(8, conversationOptions_1.IConversationOptions),
960
+ __param(9, configurationService_1.IConfigurationService),
961
+ __param(10, nullExperimentationService_1.IExperimentationService)
682
962
  ], ChatMLFetcherImpl);
683
963
  /**
684
964
  * Validates a chat request payload to ensure it is valid
@@ -705,4 +985,37 @@ function isValidChatPayload(messages, postOptions) {
705
985
  function asUnexpected(reason) {
706
986
  return `Prompt failed validation with the reason: ${reason}. Please file an issue.`;
707
987
  }
988
+ function createTelemetryData(chatEndpointInfo, location, headerRequestId) {
989
+ return telemetryData_1.TelemetryData.createAndMarkAsIssued({
990
+ endpoint: 'completions',
991
+ engineName: 'chat',
992
+ uiKind: commonTypes_1.ChatLocation.toString(location),
993
+ headerRequestId
994
+ });
995
+ }
996
+ /**
997
+ * WARNING: The value that is returned from this function drives the disablement of RAI for full-file rewrite requests
998
+ * in Copilot Edits, Copilot Chat, Agent Mode, and Inline Chat.
999
+ * If your chat location generates full-file rewrite requests and you are unsure if changing something here will cause problems, please talk to @roblourens
1000
+ */
1001
+ function locationToIntent(location) {
1002
+ switch (location) {
1003
+ case commonTypes_1.ChatLocation.Panel:
1004
+ return 'conversation-panel';
1005
+ case commonTypes_1.ChatLocation.Editor:
1006
+ return 'conversation-inline';
1007
+ case commonTypes_1.ChatLocation.EditingSession:
1008
+ return 'conversation-edits';
1009
+ case commonTypes_1.ChatLocation.Notebook:
1010
+ return 'conversation-notebook';
1011
+ case commonTypes_1.ChatLocation.Terminal:
1012
+ return 'conversation-terminal';
1013
+ case commonTypes_1.ChatLocation.Other:
1014
+ return 'conversation-other';
1015
+ case commonTypes_1.ChatLocation.Agent:
1016
+ return 'conversation-agent';
1017
+ case commonTypes_1.ChatLocation.ResponsesProxy:
1018
+ return 'responses-proxy';
1019
+ }
1020
+ }
708
1021
  //# sourceMappingURL=chatMLFetcher.js.map