@vscode/chat-lib 0.3.0 → 0.3.1-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 (327) hide show
  1. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js +1 -1
  2. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js.map +1 -1
  3. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/modelPickerUserSelection.d.ts +3 -0
  4. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/modelPickerUserSelection.d.ts.map +1 -0
  5. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/modelPickerUserSelection.js +9 -0
  6. package/dist/src/_internal/extension/completions-core/vscode-node/extension/src/modelPickerUserSelection.js.map +1 -0
  7. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.d.ts +1 -1
  8. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/asyncCompletions.d.ts.map +1 -1
  9. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/cacheUtils.d.ts +19 -0
  10. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/cacheUtils.d.ts.map +1 -0
  11. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/cacheUtils.js +12 -0
  12. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/cacheUtils.js.map +1 -0
  13. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.d.ts +49 -0
  14. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.d.ts.map +1 -0
  15. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js +331 -0
  16. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js.map +1 -0
  17. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts +3 -2
  18. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts.map +1 -1
  19. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js +2 -6
  20. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js.map +1 -1
  21. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.d.ts +1 -1
  22. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.d.ts.map +1 -1
  23. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.js +2 -2
  24. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/current.js.map +1 -1
  25. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts +31 -12
  26. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts.map +1 -1
  27. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js +367 -806
  28. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js.map +1 -1
  29. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostTextStrategy.d.ts +16 -0
  30. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostTextStrategy.d.ts.map +1 -0
  31. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostTextStrategy.js +196 -0
  32. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostTextStrategy.js.map +1 -0
  33. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts +3 -5
  34. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts.map +1 -1
  35. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js +8 -8
  36. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js.map +1 -1
  37. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/requestContext.d.ts +37 -0
  38. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/requestContext.d.ts.map +1 -0
  39. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/requestContext.js +7 -0
  40. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/requestContext.js.map +1 -0
  41. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/resultType.d.ts +8 -0
  42. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/resultType.d.ts.map +1 -0
  43. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/resultType.js +16 -0
  44. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/resultType.js.map +1 -0
  45. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.d.ts.map +1 -1
  46. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js +3 -5
  47. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js.map +1 -1
  48. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts +3 -2
  49. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts.map +1 -1
  50. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js +10 -9
  51. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js.map +1 -1
  52. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.d.ts.map +1 -1
  53. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js +2 -1
  54. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/inlineCompletion.js.map +1 -1
  55. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.d.ts +1 -6
  56. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networkConfiguration.d.ts.map +1 -1
  57. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts +1 -0
  58. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts.map +1 -1
  59. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js +1 -0
  60. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js.map +1 -1
  61. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts +25 -7
  62. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts.map +1 -1
  63. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js +316 -23
  64. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js.map +1 -1
  65. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.d.ts +3 -1
  66. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.d.ts.map +1 -1
  67. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js +28 -3
  68. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/model.js.map +1 -1
  69. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts +5 -9
  70. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts.map +1 -1
  71. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js +0 -3
  72. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js.map +1 -1
  73. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts +3 -27
  74. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts.map +1 -1
  75. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js +17 -62
  76. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js.map +1 -1
  77. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts +1 -1
  78. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts.map +1 -1
  79. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js +0 -4
  80. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js.map +1 -1
  81. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts +7 -5
  82. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts.map +1 -1
  83. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js +75 -13
  84. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js.map +1 -1
  85. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.d.ts +10 -0
  86. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.d.ts.map +1 -0
  87. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.js +92 -0
  88. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.js.map +1 -0
  89. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.d.ts.map +1 -1
  90. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js +2 -1
  91. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js.map +1 -1
  92. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.d.ts +9 -0
  93. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.d.ts.map +1 -1
  94. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.js +50 -1
  95. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviderRegistry.js.map +1 -1
  96. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts +6 -2
  97. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts.map +1 -1
  98. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js +106 -43
  99. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js.map +1 -1
  100. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.d.ts +5 -0
  101. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.d.ts.map +1 -0
  102. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.js +59 -0
  103. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.js.map +1 -0
  104. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.d.ts +1 -0
  105. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.d.ts.map +1 -1
  106. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.js +2 -1
  107. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/prompt.js.map +1 -1
  108. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts +1 -1
  109. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts.map +1 -1
  110. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.js.map +1 -1
  111. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.d.ts +2 -2
  112. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.d.ts.map +1 -1
  113. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.js +2 -4
  114. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/suggestions.js.map +1 -1
  115. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts +2 -1
  116. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts.map +1 -1
  117. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.js.map +1 -1
  118. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts +10 -2
  119. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts.map +1 -1
  120. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js +8 -0
  121. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js.map +1 -1
  122. package/dist/src/_internal/extension/inlineEdits/common/nesTriggerHint.d.ts +16 -0
  123. package/dist/src/_internal/extension/inlineEdits/common/nesTriggerHint.d.ts.map +1 -0
  124. package/dist/src/_internal/extension/inlineEdits/common/nesTriggerHint.js +27 -0
  125. package/dist/src/_internal/extension/inlineEdits/common/nesTriggerHint.js.map +1 -0
  126. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts +8 -1
  127. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
  128. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +10 -4
  129. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -1
  130. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +6 -2
  131. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  132. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +5 -5
  133. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js.map +1 -1
  134. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +2 -0
  135. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  136. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +11 -7
  137. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  138. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  139. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +9 -3
  140. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  141. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +3 -0
  142. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
  143. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
  144. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +22 -0
  145. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  146. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +187 -66
  147. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  148. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +7 -5
  149. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +1 -1
  150. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +26 -14
  151. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -1
  152. package/dist/src/_internal/extension/xtab/common/lintErrors.d.ts +2 -0
  153. package/dist/src/_internal/extension/xtab/common/lintErrors.d.ts.map +1 -1
  154. package/dist/src/_internal/extension/xtab/common/lintErrors.js +31 -7
  155. package/dist/src/_internal/extension/xtab/common/lintErrors.js.map +1 -1
  156. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  157. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +11 -6
  158. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  159. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.d.ts +2 -2
  160. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.d.ts.map +1 -1
  161. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js +15 -12
  162. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js.map +1 -1
  163. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts +3 -1
  164. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts.map +1 -1
  165. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +9 -3
  166. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -1
  167. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +5 -23
  168. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  169. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +222 -195
  170. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  171. package/dist/src/_internal/platform/authentication/common/authentication.d.ts +2 -1
  172. package/dist/src/_internal/platform/authentication/common/authentication.d.ts.map +1 -1
  173. package/dist/src/_internal/platform/authentication/common/authentication.js +7 -2
  174. package/dist/src/_internal/platform/authentication/common/authentication.js.map +1 -1
  175. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +146 -49
  176. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
  177. package/dist/src/_internal/platform/authentication/common/copilotToken.js +152 -18
  178. package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
  179. package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.js +1 -1
  180. package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.js.map +1 -1
  181. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts +10 -0
  182. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts.map +1 -1
  183. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +110 -40
  184. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
  185. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js +1 -1
  186. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js.map +1 -1
  187. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts +5 -1
  188. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts.map +1 -1
  189. package/dist/src/_internal/platform/chat/common/commonTypes.js +5 -1
  190. package/dist/src/_internal/platform/chat/common/commonTypes.js.map +1 -1
  191. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.d.ts +27 -0
  192. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.d.ts.map +1 -0
  193. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.js +35 -0
  194. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.js.map +1 -0
  195. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +64 -33
  196. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  197. package/dist/src/_internal/platform/configuration/common/configurationService.js +46 -22
  198. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  199. package/dist/src/_internal/platform/configuration/common/validator.d.ts +2 -0
  200. package/dist/src/_internal/platform/configuration/common/validator.d.ts.map +1 -1
  201. package/dist/src/_internal/platform/configuration/common/validator.js +18 -0
  202. package/dist/src/_internal/platform/configuration/common/validator.js.map +1 -1
  203. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +2 -0
  204. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  205. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +10 -1
  206. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  207. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +3 -0
  208. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  209. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  210. package/dist/src/_internal/platform/endpoint/common/endpointTypes.d.ts +1 -0
  211. package/dist/src/_internal/platform/endpoint/common/endpointTypes.d.ts.map +1 -1
  212. package/dist/src/_internal/platform/endpoint/common/endpointTypes.js +1 -0
  213. package/dist/src/_internal/platform/endpoint/common/endpointTypes.js.map +1 -1
  214. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +2 -0
  215. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  216. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +83 -3
  217. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  218. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +19 -4
  219. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
  220. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +247 -36
  221. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
  222. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts +2 -0
  223. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  224. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +23 -5
  225. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  226. package/dist/src/_internal/platform/git/common/gitService.d.ts +2 -1
  227. package/dist/src/_internal/platform/git/common/gitService.d.ts.map +1 -1
  228. package/dist/src/_internal/platform/git/common/gitService.js.map +1 -1
  229. package/dist/src/_internal/platform/github/common/githubService.d.ts +36 -0
  230. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  231. package/dist/src/_internal/platform/github/common/githubService.js +60 -0
  232. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  233. package/dist/src/_internal/platform/inlineCompletions/common/api.d.ts +5 -1
  234. package/dist/src/_internal/platform/inlineCompletions/common/api.d.ts.map +1 -1
  235. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.d.ts +10 -2
  236. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.d.ts.map +1 -1
  237. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.js +23 -4
  238. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.js.map +1 -1
  239. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +2 -1
  240. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  241. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +1 -0
  242. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  243. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts +5 -0
  244. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts.map +1 -1
  245. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +123 -0
  246. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  247. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +15 -3
  248. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  249. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +20 -0
  250. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  251. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts.map +1 -1
  252. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +5 -0
  253. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js.map +1 -1
  254. package/dist/src/_internal/platform/languageServer/common/languageContextService.d.ts +27 -2
  255. package/dist/src/_internal/platform/languageServer/common/languageContextService.d.ts.map +1 -1
  256. package/dist/src/_internal/platform/languageServer/common/languageContextService.js +1 -0
  257. package/dist/src/_internal/platform/languageServer/common/languageContextService.js.map +1 -1
  258. package/dist/src/_internal/platform/log/common/logService.d.ts +12 -0
  259. package/dist/src/_internal/platform/log/common/logService.d.ts.map +1 -1
  260. package/dist/src/_internal/platform/log/common/logService.js +39 -0
  261. package/dist/src/_internal/platform/log/common/logService.js.map +1 -1
  262. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.d.ts +74 -0
  263. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.d.ts.map +1 -0
  264. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.js +23 -0
  265. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.js.map +1 -0
  266. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.d.ts +72 -0
  267. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.d.ts.map +1 -0
  268. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.js +44 -0
  269. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.js.map +1 -0
  270. package/dist/src/_internal/platform/nesFetch/common/responseStream.d.ts +36 -0
  271. package/dist/src/_internal/platform/nesFetch/common/responseStream.d.ts.map +1 -0
  272. package/dist/src/_internal/platform/nesFetch/common/responseStream.js +167 -0
  273. package/dist/src/_internal/platform/nesFetch/common/responseStream.js.map +1 -0
  274. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.d.ts +28 -0
  275. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.d.ts.map +1 -0
  276. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js +184 -0
  277. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js.map +1 -0
  278. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.d.ts +9 -0
  279. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.d.ts.map +1 -0
  280. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.js +71 -0
  281. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.js.map +1 -0
  282. package/dist/src/_internal/platform/networking/common/anthropic.d.ts +166 -0
  283. package/dist/src/_internal/platform/networking/common/anthropic.d.ts.map +1 -0
  284. package/dist/src/_internal/platform/networking/common/anthropic.js +177 -0
  285. package/dist/src/_internal/platform/networking/common/anthropic.js.map +1 -0
  286. package/dist/src/_internal/platform/networking/common/fetch.d.ts +19 -12
  287. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  288. package/dist/src/_internal/platform/networking/common/fetch.js +5 -5
  289. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  290. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +35 -6
  291. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  292. package/dist/src/_internal/platform/networking/common/fetcherService.js +96 -11
  293. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  294. package/dist/src/_internal/platform/networking/common/networking.d.ts +7 -3
  295. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  296. package/dist/src/_internal/platform/networking/common/networking.js +4 -4
  297. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  298. package/dist/src/_internal/platform/networking/node/stream.d.ts.map +1 -1
  299. package/dist/src/_internal/platform/networking/node/stream.js +55 -29
  300. package/dist/src/_internal/platform/networking/node/stream.js.map +1 -1
  301. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +1 -0
  302. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
  303. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js +2 -0
  304. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
  305. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -0
  306. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  307. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  308. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +95 -8
  309. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  310. package/dist/src/_internal/util/common/test/shims/chatTypes.js +65 -11
  311. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  312. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  313. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +5 -2
  314. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  315. package/dist/src/_internal/util/common/tracing.d.ts +13 -0
  316. package/dist/src/_internal/util/common/tracing.d.ts.map +1 -1
  317. package/dist/src/_internal/util/common/tracing.js +7 -0
  318. package/dist/src/_internal/util/common/tracing.js.map +1 -1
  319. package/dist/src/_internal/vscodeTypes.d.ts +5 -1
  320. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  321. package/dist/src/_internal/vscodeTypes.js +6 -3
  322. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  323. package/dist/src/main.d.ts.map +1 -1
  324. package/dist/src/main.js +5 -0
  325. package/dist/src/main.js.map +1 -1
  326. package/dist/src/package.json +606 -328
  327. package/package.json +3 -3
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.ResponseStream = void 0;
41
+ const errors = __importStar(require("../../../util/common/errors"));
42
+ const result_1 = require("../../../util/common/result");
43
+ const async_1 = require("../../../util/vs/base/common/async");
44
+ const types_1 = require("../../../util/vs/base/common/types");
45
+ class ResponseStream {
46
+ constructor(fetcherResponse, stream, requestId, headers) {
47
+ this.fetcherResponse = fetcherResponse;
48
+ this.requestId = requestId;
49
+ this.headers = headers;
50
+ const tokensDeferredPromise = new async_1.DeferredPromise();
51
+ this.aggregatedStream = tokensDeferredPromise.p;
52
+ this.response = this.aggregatedStream.then((completions) => {
53
+ if (completions.isError()) {
54
+ return completions;
55
+ }
56
+ try {
57
+ return result_1.Result.ok(ResponseStream.aggregateCompletionsStream(completions.val));
58
+ }
59
+ catch (err) {
60
+ return result_1.Result.error(err);
61
+ }
62
+ });
63
+ this.stream = streamWithAggregation(stream, tokensDeferredPromise);
64
+ }
65
+ /**
66
+ * @throws client of the method should handle the error
67
+ */
68
+ async destroy() {
69
+ await this.fetcherResponse.body.destroy();
70
+ }
71
+ static aggregateCompletionsStream(stream) {
72
+ let text = '';
73
+ let finishReason = null;
74
+ let aggregatedLogsProbs = null;
75
+ let aggregatedUsage = undefined;
76
+ for (const completion of stream) {
77
+ const choice = completion.choices[0]; // TODO@ulugbekna: we only support choice.index=0
78
+ text += choice.text ?? '';
79
+ if (choice.logprobs) {
80
+ if (aggregatedLogsProbs === null) {
81
+ aggregatedLogsProbs = {
82
+ tokens: [...choice.logprobs.tokens],
83
+ token_logprobs: [...choice.logprobs.token_logprobs],
84
+ text_offset: [...choice.logprobs.text_offset],
85
+ top_logprobs: [...choice.logprobs.top_logprobs],
86
+ };
87
+ }
88
+ else {
89
+ aggregatedLogsProbs.tokens.push(...choice.logprobs.tokens);
90
+ aggregatedLogsProbs.token_logprobs.push(...choice.logprobs.token_logprobs);
91
+ aggregatedLogsProbs.text_offset.push(...choice.logprobs.text_offset);
92
+ aggregatedLogsProbs.top_logprobs.push(...choice.logprobs.top_logprobs);
93
+ }
94
+ }
95
+ if (completion.usage) {
96
+ if (aggregatedUsage === undefined) {
97
+ aggregatedUsage = {
98
+ completion_tokens: completion.usage.completion_tokens,
99
+ prompt_tokens: completion.usage.prompt_tokens,
100
+ total_tokens: completion.usage.total_tokens,
101
+ completion_tokens_details: {
102
+ audio_tokens: completion.usage.completion_tokens_details.audio_tokens,
103
+ reasoning_tokens: completion.usage.completion_tokens_details.reasoning_tokens,
104
+ },
105
+ prompt_tokens_details: {
106
+ audio_tokens: completion.usage.prompt_tokens_details.audio_tokens,
107
+ reasoning_tokens: completion.usage.prompt_tokens_details.reasoning_tokens,
108
+ }
109
+ };
110
+ }
111
+ else {
112
+ aggregatedUsage.completion_tokens += completion.usage.completion_tokens;
113
+ aggregatedUsage.prompt_tokens += completion.usage.prompt_tokens;
114
+ aggregatedUsage.total_tokens += completion.usage.total_tokens;
115
+ aggregatedUsage.completion_tokens_details.audio_tokens += completion.usage.completion_tokens_details.audio_tokens;
116
+ aggregatedUsage.completion_tokens_details.reasoning_tokens += completion.usage.completion_tokens_details.reasoning_tokens;
117
+ aggregatedUsage.prompt_tokens_details.audio_tokens += completion.usage.prompt_tokens_details.audio_tokens;
118
+ aggregatedUsage.prompt_tokens_details.reasoning_tokens += completion.usage.prompt_tokens_details.reasoning_tokens;
119
+ }
120
+ }
121
+ if (choice.finish_reason) {
122
+ (0, types_1.assertType)(finishReason === null, 'cannot already have finishReason if just seeing choice.finish_reason');
123
+ finishReason = choice.finish_reason;
124
+ }
125
+ }
126
+ if (stream.length === 0) {
127
+ throw new Error(`Response is empty!`);
128
+ }
129
+ const completion = stream[0];
130
+ const choice = {
131
+ index: 0,
132
+ finish_reason: finishReason,
133
+ logprobs: aggregatedLogsProbs,
134
+ text,
135
+ };
136
+ const aggregatedCompletion = {
137
+ choices: [choice],
138
+ system_fingerprint: completion.system_fingerprint,
139
+ object: completion.object,
140
+ usage: aggregatedUsage,
141
+ };
142
+ return aggregatedCompletion;
143
+ }
144
+ }
145
+ exports.ResponseStream = ResponseStream;
146
+ /**
147
+ * Wraps an async iterable stream into an async generator that also collects completions
148
+ * for aggregation and resolves the deferred promise when done.
149
+ */
150
+ async function* streamWithAggregation(stream, deferredPromise) {
151
+ const completions = [];
152
+ let error;
153
+ try {
154
+ for await (const completion of stream) {
155
+ completions.push(completion);
156
+ yield completion;
157
+ }
158
+ }
159
+ catch (e) {
160
+ error = errors.fromUnknown(e);
161
+ throw error;
162
+ }
163
+ finally {
164
+ deferredPromise.complete(error ? result_1.Result.error(error) : result_1.Result.ok(completions));
165
+ }
166
+ }
167
+ //# sourceMappingURL=responseStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseStream.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/common/responseStream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Result } from '../../../util/common/result';
2
+ import { CancellationToken } from '../../../util/vs/base/common/cancellation';
3
+ import { IAuthenticationService } from '../../authentication/common/authentication';
4
+ import { RequestId } from '../../networking/common/fetch';
5
+ import { IFetcherService, IHeaders, Response } from '../../networking/common/fetcherService';
6
+ import { Completions, ICompletionsFetchService } from '../common/completionsFetchService';
7
+ import { ResponseStream } from '../common/responseStream';
8
+ export type FetchResponse = {
9
+ status: number;
10
+ statusText: string;
11
+ headers: IHeaders;
12
+ body: AsyncIterable<string>;
13
+ requestId: RequestId;
14
+ response: Response;
15
+ };
16
+ export interface IFetchRequestParams extends Completions.ModelParams {
17
+ }
18
+ export declare class CompletionsFetchService implements ICompletionsFetchService {
19
+ private authService;
20
+ private fetcherService;
21
+ readonly _serviceBrand: undefined;
22
+ constructor(authService: IAuthenticationService, fetcherService: IFetcherService);
23
+ disconnectAll(): Promise<unknown>;
24
+ fetch(url: string, secretKey: string, params: IFetchRequestParams, requestId: string, ct: CancellationToken, headerOverrides?: Record<string, string>): Promise<Result<ResponseStream, Completions.CompletionsFetchFailure>>;
25
+ protected _fetchFromUrl(url: string, options: Completions.Internal.FetchOptions, ct: CancellationToken): Promise<Result<FetchResponse, Completions.CompletionsFetchFailure>>;
26
+ private getHeaders;
27
+ }
28
+ //# sourceMappingURL=completionsFetchServiceImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionsFetchServiceImpl.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAgB,SAAS,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAgB,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,WAAW,CAAC,WAAW;CAAI;AAExE,qBAAa,uBAAwB,YAAW,wBAAwB;IAI9C,OAAO,CAAC,WAAW;IAC1B,OAAO,CAAC,cAAc;IAJxC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;gBAGD,WAAW,EAAE,sBAAsB,EAC1C,cAAc,EAAE,eAAe;IAIlD,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,KAAK,CACjB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,iBAAiB,EACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC;cA0CvD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC;IA8DlL,OAAO,CAAC,UAAU;CAgBlB"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
23
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
25
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
26
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
27
+ };
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
45
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
46
+ return function (target, key) { decorator(target, key, paramIndex); }
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.CompletionsFetchService = void 0;
50
+ const errors = __importStar(require("../../../util/common/errors"));
51
+ const result_1 = require("../../../util/common/result");
52
+ const authentication_1 = require("../../authentication/common/authentication");
53
+ const fetch_1 = require("../../networking/common/fetch");
54
+ const fetcherService_1 = require("../../networking/common/fetcherService");
55
+ const completionsFetchService_1 = require("../common/completionsFetchService");
56
+ const responseStream_1 = require("../common/responseStream");
57
+ const streamTransformer_1 = require("./streamTransformer");
58
+ let CompletionsFetchService = class CompletionsFetchService {
59
+ constructor(authService, fetcherService) {
60
+ this.authService = authService;
61
+ this.fetcherService = fetcherService;
62
+ }
63
+ disconnectAll() {
64
+ return this.fetcherService.disconnectAll();
65
+ }
66
+ async fetch(url, secretKey, params, requestId, ct, headerOverrides) {
67
+ if (ct.isCancellationRequested) {
68
+ return result_1.Result.error(new completionsFetchService_1.Completions.RequestCancelled());
69
+ }
70
+ const options = {
71
+ requestId,
72
+ headers: this.getHeaders(requestId, secretKey, headerOverrides),
73
+ body: JSON.stringify({
74
+ ...params,
75
+ stream: true,
76
+ })
77
+ };
78
+ const fetchResponse = await this._fetchFromUrl(url, options, ct);
79
+ if (fetchResponse.isError()) {
80
+ return fetchResponse;
81
+ }
82
+ if (fetchResponse.val.status === 200) {
83
+ const jsonlStream = (0, streamTransformer_1.streamToLines)(fetchResponse.val.body);
84
+ const completionsStream = (0, streamTransformer_1.jsonlStreamToCompletions)(jsonlStream);
85
+ const response = new responseStream_1.ResponseStream(fetchResponse.val.response, completionsStream, fetchResponse.val.requestId, fetchResponse.val.headers);
86
+ return result_1.Result.ok(response);
87
+ }
88
+ else {
89
+ const error = new completionsFetchService_1.Completions.UnsuccessfulResponse(fetchResponse.val.status, fetchResponse.val.statusText, fetchResponse.val.headers, () => collectAsyncIterableToString(fetchResponse.val.body).catch(() => ''));
90
+ return result_1.Result.error(error);
91
+ }
92
+ }
93
+ async _fetchFromUrl(url, options, ct) {
94
+ const fetchAbortCtl = this.fetcherService.makeAbortController();
95
+ const onCancellationDisposable = ct.onCancellationRequested(() => {
96
+ fetchAbortCtl.abort();
97
+ });
98
+ try {
99
+ const request = {
100
+ headers: options.headers,
101
+ body: options.body,
102
+ signal: fetchAbortCtl.signal,
103
+ method: 'POST',
104
+ };
105
+ const response = await this.fetcherService.fetch(url, request);
106
+ if (response.status === 200 && this.authService.copilotToken?.isFreeUser && this.authService.copilotToken?.isChatQuotaExceeded) {
107
+ this.authService.resetCopilotToken();
108
+ }
109
+ if (response.status !== 200) {
110
+ if (response.status === 402) {
111
+ // When we receive a 402, we have exceed the free tier quota
112
+ // This is stored on the token so let's refresh it
113
+ if (!this.authService.copilotToken?.isCompletionsQuotaExceeded) {
114
+ this.authService.resetCopilotToken(response.status);
115
+ await this.authService.getCopilotToken();
116
+ }
117
+ }
118
+ return result_1.Result.error(new completionsFetchService_1.Completions.UnsuccessfulResponse(response.status, response.statusText, response.headers, () => response.text().catch(() => '')));
119
+ }
120
+ const body = response.body.pipeThrough(new TextDecoderStream());
121
+ const responseStream = streamWithCleanup(body, onCancellationDisposable);
122
+ return result_1.Result.ok({
123
+ status: response.status,
124
+ statusText: response.statusText,
125
+ headers: response.headers,
126
+ body: responseStream,
127
+ requestId: (0, fetch_1.getRequestId)(response.headers),
128
+ response,
129
+ });
130
+ }
131
+ catch (reason) {
132
+ onCancellationDisposable.dispose();
133
+ if (reason instanceof Error && reason.message === 'This operation was aborted') {
134
+ return result_1.Result.error(new completionsFetchService_1.Completions.RequestCancelled());
135
+ }
136
+ const error = errors.fromUnknown(reason);
137
+ return result_1.Result.error(new completionsFetchService_1.Completions.Unexpected(error));
138
+ }
139
+ }
140
+ getHeaders(requestId, secretKey, headerOverrides = {}) {
141
+ const headers = {
142
+ 'Content-Type': 'application/json',
143
+ 'x-policy-id': 'nil',
144
+ Authorization: 'Bearer ' + secretKey,
145
+ 'X-Request-Id': requestId,
146
+ 'X-GitHub-Api-Version': '2025-04-01',
147
+ ...headerOverrides,
148
+ };
149
+ return headers;
150
+ }
151
+ };
152
+ exports.CompletionsFetchService = CompletionsFetchService;
153
+ exports.CompletionsFetchService = CompletionsFetchService = __decorate([
154
+ __param(0, authentication_1.IAuthenticationService),
155
+ __param(1, fetcherService_1.IFetcherService)
156
+ ], CompletionsFetchService);
157
+ /**
158
+ * Wraps an async iterable stream and disposes the cleanup disposable when the stream completes or errors.
159
+ */
160
+ async function* streamWithCleanup(stream, cleanupDisposable) {
161
+ try {
162
+ for await (const str of stream) {
163
+ yield str;
164
+ }
165
+ }
166
+ catch (err) {
167
+ const error = errors.fromUnknown(err);
168
+ throw error;
169
+ }
170
+ finally {
171
+ cleanupDisposable.dispose();
172
+ }
173
+ }
174
+ /**
175
+ * Collects all strings from an async iterable and joins them into a single string.
176
+ */
177
+ async function collectAsyncIterableToString(iterable) {
178
+ const parts = [];
179
+ for await (const part of iterable) {
180
+ parts.push(part);
181
+ }
182
+ return parts.join('');
183
+ }
184
+ //# sourceMappingURL=completionsFetchServiceImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionsFetchServiceImpl.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Completion } from '../common/completionsAPI';
2
+ /**
3
+ * Transforms a stream of strings into a stream of lines.
4
+ *
5
+ * Listener should handle the errors coming from the input stream.
6
+ */
7
+ export declare function streamToLines(stream: AsyncIterable<string>): AsyncGenerator<string>;
8
+ export declare function jsonlStreamToCompletions(jsonlStream: AsyncIterable<string>): AsyncGenerator<Completion>;
9
+ //# sourceMappingURL=streamTransformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamTransformer.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/node/streamTransformer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;GAIG;AACH,wBAAuB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAkB1F;AAED,wBAAuB,wBAAwB,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAgB9G"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.streamToLines = streamToLines;
8
+ exports.jsonlStreamToCompletions = jsonlStreamToCompletions;
9
+ /**
10
+ * Transforms a stream of strings into a stream of lines.
11
+ *
12
+ * Listener should handle the errors coming from the input stream.
13
+ */
14
+ async function* streamToLines(stream) {
15
+ let buffer = '';
16
+ for await (const str of stream) {
17
+ buffer += str;
18
+ let newlineIndex;
19
+ while ((newlineIndex = buffer.indexOf('\n')) !== -1) {
20
+ // take the first line
21
+ const line = buffer.substring(0, newlineIndex);
22
+ buffer = buffer.substring(newlineIndex + 1);
23
+ yield line;
24
+ }
25
+ }
26
+ if (buffer.length > 0) {
27
+ // last line which doesn't end with \n
28
+ yield buffer;
29
+ }
30
+ }
31
+ async function* jsonlStreamToCompletions(jsonlStream) {
32
+ for await (const line of jsonlStream) {
33
+ if (line.trim() === 'data: [DONE]') {
34
+ continue;
35
+ }
36
+ if (line.startsWith('data: ')) {
37
+ const message = JSON.parse(line.substring('data: '.length));
38
+ if (message.error) {
39
+ throw new Error(message.error.message);
40
+ }
41
+ yield message;
42
+ }
43
+ }
44
+ }
45
+ // function replaceBytes(s: string): string {
46
+ // if (!s.startsWith('bytes:')) {
47
+ // return s;
48
+ // }
49
+ // const bytes: number[] = [];
50
+ // let i = 'bytes:'.length;
51
+ // const textEncoder = new TextEncoder();
52
+ // while (i < s.length) {
53
+ // if (s.slice(i, i + 3) === '\\\\x') {
54
+ // bytes.push(parseInt(s.slice(i + 3, i + 5), 16));
55
+ // i += 5;
56
+ // } else if (s.slice(i, i + 2) === '\\x') {
57
+ // bytes.push(parseInt(s.slice(i + 2, i + 4), 16));
58
+ // i += 4;
59
+ // } else {
60
+ // const encoded = textEncoder.encode(s.slice(i, i + 1));
61
+ // for (const b of encoded) {
62
+ // bytes.push(b);
63
+ // }
64
+ // i += 1;
65
+ // }
66
+ // }
67
+ // return new TextDecoder('utf8', { fatal: false }).decode(
68
+ // new Uint8Array(bytes)
69
+ // );
70
+ // }
71
+ //# sourceMappingURL=streamTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamTransformer.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/node/streamTransformer.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAShG,sCAkBC;AAED,4DAgBC;AAzCD;;;;GAIG;AACI,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,MAA6B;IACjE,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC;QACd,IAAI,YAAoB,CAAC;QACzB,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrD,sBAAsB;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC;QACZ,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,sCAAsC;QACtC,MAAM,MAAM,CAAC;IACd,CAAC;AACF,CAAC;AAEM,KAAK,SAAS,CAAC,CAAC,wBAAwB,CAAC,WAAkC;IACjF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;YACpC,SAAS;QACV,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAiD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAE1G,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,OAAO,CAAC;QACf,CAAC;IACF,CAAC;AACF,CAAC;AAED,6CAA6C;AAC7C,kCAAkC;AAClC,cAAc;AACd,KAAK;AACL,+BAA+B;AAC/B,4BAA4B;AAC5B,0CAA0C;AAC1C,0BAA0B;AAC1B,yCAAyC;AACzC,sDAAsD;AACtD,aAAa;AACb,8CAA8C;AAC9C,sDAAsD;AACtD,aAAa;AACb,aAAa;AACb,4DAA4D;AAC5D,gCAAgC;AAChC,qBAAqB;AACrB,OAAO;AACP,aAAa;AACb,MAAM;AACN,KAAK;AACL,4DAA4D;AAC5D,0BAA0B;AAC1B,MAAM;AACN,IAAI"}
@@ -0,0 +1,166 @@
1
+ import { IConfigurationService } from '../../configuration/common/configurationService';
2
+ import { IExperimentationService } from '../../telemetry/common/nullExperimentationService';
3
+ import { IChatEndpoint } from './networking';
4
+ /**
5
+ * Types for Anthropic Messages API
6
+ * Based on https://platform.claude.com/docs/en/api/messages
7
+ *
8
+ * This interface supports both regular tools and server tools (web search, tool search):
9
+ * - Regular tools: require name, description, and input_schema
10
+ * - Tool search tools: require only type and name
11
+ */
12
+ export interface AnthropicMessagesTool {
13
+ name: string;
14
+ type?: string;
15
+ description?: string;
16
+ input_schema?: {
17
+ type: 'object';
18
+ properties?: Record<string, unknown>;
19
+ required?: string[];
20
+ };
21
+ defer_loading?: boolean;
22
+ }
23
+ export interface ToolReference {
24
+ type: 'tool_reference';
25
+ tool_name: string;
26
+ }
27
+ export interface ToolSearchToolSearchResult {
28
+ type: 'tool_search_tool_search_result';
29
+ tool_references: ToolReference[];
30
+ }
31
+ export interface ToolSearchToolResultError {
32
+ type: 'tool_search_tool_result_error';
33
+ error_code: 'too_many_requests' | 'invalid_pattern' | 'pattern_too_long' | 'unavailable';
34
+ }
35
+ export interface ServerToolUse {
36
+ type: 'server_tool_use';
37
+ id: string;
38
+ name: string;
39
+ input: {
40
+ query: string;
41
+ };
42
+ }
43
+ export interface ToolSearchToolResult {
44
+ type: 'tool_search_tool_result';
45
+ tool_use_id: string;
46
+ content: ToolSearchToolSearchResult | ToolSearchToolResultError;
47
+ }
48
+ export interface ToolSearchUsage {
49
+ tool_search_requests: number;
50
+ }
51
+ /**
52
+ * Tools that should not use deferred loading when tool search is enabled.
53
+ * These are frequently used tools that benefit from being immediately available.
54
+ *
55
+ * TODO: @bhavyaus Replace these hardcoded strings with constants from ToolName enum
56
+ */
57
+ export declare const nonDeferredToolNames: Set<string>;
58
+ /**
59
+ * Context management types for Anthropic Messages API
60
+ * Based on https://platform.claude.com/docs/en/build-with-claude/context-editing
61
+ */
62
+ export type ContextManagementTrigger = {
63
+ type: 'input_tokens';
64
+ value: number;
65
+ } | {
66
+ type: 'tool_uses';
67
+ value: number;
68
+ };
69
+ export type ContextManagementKeep = {
70
+ type: 'tool_uses';
71
+ value: number;
72
+ } | {
73
+ type: 'thinking_turns';
74
+ value: number;
75
+ } | 'all';
76
+ export type ContextManagementClearAtLeast = {
77
+ type: 'input_tokens';
78
+ value: number;
79
+ };
80
+ export interface ClearToolUsesEdit {
81
+ type: 'clear_tool_uses_20250919';
82
+ trigger?: ContextManagementTrigger;
83
+ keep?: ContextManagementKeep;
84
+ clear_at_least?: ContextManagementClearAtLeast;
85
+ exclude_tools?: string[];
86
+ clear_tool_inputs?: boolean;
87
+ }
88
+ export interface ClearThinkingEdit {
89
+ type: 'clear_thinking_20251015';
90
+ keep?: ContextManagementKeep;
91
+ }
92
+ export type ContextManagementEdit = ClearToolUsesEdit | ClearThinkingEdit;
93
+ export interface ContextManagement {
94
+ edits: ContextManagementEdit[];
95
+ }
96
+ export interface AppliedContextEdit {
97
+ type: 'clear_thinking_20251015' | 'clear_tool_uses_20250919';
98
+ cleared_thinking_turns?: number;
99
+ cleared_tool_uses?: number;
100
+ cleared_input_tokens?: number;
101
+ }
102
+ export interface ContextManagementResponse {
103
+ applied_edits: AppliedContextEdit[];
104
+ }
105
+ /**
106
+ * Context editing is supported by:
107
+ * - Claude Haiku 4.5 (claude-haiku-4-5-* or claude-haiku-4.5-*)
108
+ * - Claude Sonnet 4.5 (claude-sonnet-4-5-* or claude-sonnet-4.5-*)
109
+ * - Claude Sonnet 4 (claude-sonnet-4-*)
110
+ * - Claude Opus 4.5 (claude-opus-4-5-* or claude-opus-4.5-*)
111
+ * - Claude Opus 4.1 (claude-opus-4-1-* or claude-opus-4.1-*)
112
+ * - Claude Opus 4 (claude-opus-4-*)
113
+ * @param modelId The model ID to check
114
+ * @returns true if the model supports context editing
115
+ */
116
+ export declare function modelSupportsContextEditing(modelId: string): boolean;
117
+ /**
118
+ * Tool search is only supported by:
119
+ * - Claude Opus 4.5 (claude-opus-4-5-* or claude-opus-4.5-*)
120
+ * @param modelId The model ID to check
121
+ * @returns true if the model supports tool search
122
+ */
123
+ export declare function modelSupportsToolSearch(modelId: string): boolean;
124
+ /**
125
+ * Memory is supported by:
126
+ * - Claude Haiku 4.5 (claude-haiku-4-5-* or claude-haiku-4.5-*)
127
+ * - Claude Sonnet 4.5 (claude-sonnet-4-5-* or claude-sonnet-4.5-*)
128
+ * - Claude Sonnet 4 (claude-sonnet-4-*)
129
+ * - Claude Opus 4.5 (claude-opus-4-5-* or claude-opus-4.5-*)
130
+ * - Claude Opus 4.1 (claude-opus-4-1-* or claude-opus-4.1-*)
131
+ * - Claude Opus 4 (claude-opus-4-*)
132
+ * @param modelId The model ID to check
133
+ * @returns true if the model supports memory
134
+ */
135
+ export declare function modelSupportsMemory(modelId: string): boolean;
136
+ export declare function isAnthropicToolSearchEnabled(endpoint: IChatEndpoint | string, configurationService: IConfigurationService, experimentationService: IExperimentationService): boolean;
137
+ export declare function isAnthropicContextEditingEnabled(endpoint: IChatEndpoint | string, configurationService: IConfigurationService, experimentationService: IExperimentationService): boolean;
138
+ export interface ContextEditingConfig {
139
+ triggerType: 'input_tokens' | 'tool_uses';
140
+ triggerValue: number;
141
+ keepCount: number;
142
+ clearAtLeastTokens: number | undefined;
143
+ excludeTools: string[];
144
+ clearInputs: boolean;
145
+ thinkingKeepTurns: number;
146
+ }
147
+ /**
148
+ * Builds the context_management configuration object for the Messages API request.
149
+ * @param config The context editing configuration from individual settings
150
+ * @param thinkingEnabled Whether extended thinking is enabled
151
+ * @returns The context_management object to include in the request, or undefined if no edits
152
+ */
153
+ export declare function buildContextManagement(config: ContextEditingConfig, thinkingEnabled: boolean): ContextManagement | undefined;
154
+ /**
155
+ * Default values for context editing configuration.
156
+ */
157
+ export declare const CONTEXT_EDITING_DEFAULTS: ContextEditingConfig;
158
+ /**
159
+ * Reads context editing configuration from settings and builds the context_management object.
160
+ * This is a convenience function that combines reading configuration with buildContextManagement.
161
+ * @param configurationService The configuration service to read settings from
162
+ * @param thinkingEnabled Whether extended thinking is enabled
163
+ * @returns The context_management object to include in the request, or undefined if disabled
164
+ */
165
+ export declare function getContextManagementFromConfig(configurationService: IConfigurationService, thinkingEnabled: boolean): ContextManagement | undefined;
166
+ //# sourceMappingURL=anthropic.d.ts.map