@vscode/chat-lib 0.2.1-26 → 0.2.1-28

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 (162) hide show
  1. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts +1 -1
  2. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js +0 -4
  4. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/copilotCompletion.js.map +1 -1
  5. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts +71 -4
  6. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js +254 -229
  8. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/ghostText.js.map +1 -1
  9. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts +2 -4
  10. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js +5 -5
  12. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/last.js.map +1 -1
  13. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.d.ts.map +1 -1
  14. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js +0 -4
  15. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/streamedCompletionSplitter.js.map +1 -1
  16. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts +2 -1
  17. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.d.ts.map +1 -1
  18. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js +4 -3
  19. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/telemetry.js.map +1 -1
  20. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts +1 -0
  21. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts.map +1 -1
  22. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js +1 -0
  23. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js.map +1 -1
  24. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts +25 -7
  25. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts.map +1 -1
  26. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js +316 -23
  27. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js.map +1 -1
  28. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts +5 -9
  29. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.d.ts.map +1 -1
  30. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js +0 -3
  31. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/openai.js.map +1 -1
  32. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts +3 -27
  33. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts.map +1 -1
  34. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js +16 -61
  35. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js.map +1 -1
  36. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts +1 -1
  37. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.d.ts.map +1 -1
  38. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js +0 -4
  39. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/postInsertion.js.map +1 -1
  40. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts +2 -1
  41. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.d.ts.map +1 -1
  42. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js +12 -7
  43. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/completionsPromptFactory/componentsCompletionsPromptFactory.js.map +1 -1
  44. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.d.ts +10 -0
  45. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.d.ts.map +1 -0
  46. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.js +92 -0
  47. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/diagnostics.js.map +1 -0
  48. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.d.ts.map +1 -1
  49. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js +2 -1
  50. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/components/splitContextPrompt.js.map +1 -1
  51. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts +6 -2
  52. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.d.ts.map +1 -1
  53. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js +106 -43
  54. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/contextItemSchemas.js.map +1 -1
  55. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.d.ts +5 -0
  56. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.d.ts.map +1 -0
  57. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.js +59 -0
  58. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/prompt/contextProviders/diagnostics.js.map +1 -0
  59. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts +1 -1
  60. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.d.ts.map +1 -1
  61. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/suggestions/anomalyDetection.js.map +1 -1
  62. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts +2 -1
  63. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.d.ts.map +1 -1
  64. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/telemetry.js.map +1 -1
  65. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts +10 -2
  66. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.d.ts.map +1 -1
  67. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js +8 -0
  68. package/dist/src/_internal/extension/completions-core/vscode-node/types/src/contextProviderApiV1.js.map +1 -1
  69. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  70. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +3 -4
  71. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  72. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js +1 -1
  73. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js.map +1 -1
  74. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.d.ts +27 -0
  75. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.d.ts.map +1 -0
  76. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.js +35 -0
  77. package/dist/src/_internal/platform/completions-core/common/openai/copilotAnnotations.js.map +1 -0
  78. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +34 -25
  79. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  80. package/dist/src/_internal/platform/configuration/common/configurationService.js +17 -7
  81. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  82. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  83. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +4 -8
  84. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  85. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  86. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +5 -0
  87. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  88. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +11 -2
  89. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
  90. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +116 -10
  91. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
  92. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts +2 -0
  93. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  94. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +23 -5
  95. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  96. package/dist/src/_internal/platform/inlineCompletions/common/api.d.ts +5 -1
  97. package/dist/src/_internal/platform/inlineCompletions/common/api.d.ts.map +1 -1
  98. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.d.ts +7 -1
  99. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.d.ts.map +1 -1
  100. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.js +18 -2
  101. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.js.map +1 -1
  102. package/dist/src/_internal/platform/languageServer/common/languageContextService.d.ts +27 -2
  103. package/dist/src/_internal/platform/languageServer/common/languageContextService.d.ts.map +1 -1
  104. package/dist/src/_internal/platform/languageServer/common/languageContextService.js +1 -0
  105. package/dist/src/_internal/platform/languageServer/common/languageContextService.js.map +1 -1
  106. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.d.ts +74 -0
  107. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.d.ts.map +1 -0
  108. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.js +23 -0
  109. package/dist/src/_internal/platform/nesFetch/common/completionsAPI.js.map +1 -0
  110. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.d.ts +72 -0
  111. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.d.ts.map +1 -0
  112. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.js +44 -0
  113. package/dist/src/_internal/platform/nesFetch/common/completionsFetchService.js.map +1 -0
  114. package/dist/src/_internal/platform/nesFetch/common/responseStream.d.ts +35 -0
  115. package/dist/src/_internal/platform/nesFetch/common/responseStream.d.ts.map +1 -0
  116. package/dist/src/_internal/platform/nesFetch/common/responseStream.js +162 -0
  117. package/dist/src/_internal/platform/nesFetch/common/responseStream.js.map +1 -0
  118. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.d.ts +29 -0
  119. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.d.ts.map +1 -0
  120. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js +171 -0
  121. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js.map +1 -0
  122. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.d.ts +10 -0
  123. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.d.ts.map +1 -0
  124. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.js +86 -0
  125. package/dist/src/_internal/platform/nesFetch/node/streamTransformer.js.map +1 -0
  126. package/dist/src/_internal/platform/networking/common/anthropic.d.ts +42 -1
  127. package/dist/src/_internal/platform/networking/common/anthropic.d.ts.map +1 -1
  128. package/dist/src/_internal/platform/networking/common/anthropic.js +28 -0
  129. package/dist/src/_internal/platform/networking/common/anthropic.js.map +1 -1
  130. package/dist/src/_internal/platform/networking/common/fetch.d.ts +15 -2
  131. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  132. package/dist/src/_internal/platform/networking/common/fetch.js +5 -5
  133. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  134. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +33 -6
  135. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  136. package/dist/src/_internal/platform/networking/common/fetcherService.js +85 -11
  137. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  138. package/dist/src/_internal/platform/networking/node/stream.d.ts.map +1 -1
  139. package/dist/src/_internal/platform/networking/node/stream.js +50 -23
  140. package/dist/src/_internal/platform/networking/node/stream.js.map +1 -1
  141. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +1 -0
  142. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
  143. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js +2 -0
  144. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
  145. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -0
  146. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  147. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  148. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +7 -7
  149. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  150. package/dist/src/_internal/util/common/test/shims/chatTypes.js +11 -11
  151. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  152. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +3 -3
  153. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  154. package/dist/src/_internal/vscodeTypes.d.ts +1 -1
  155. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  156. package/dist/src/_internal/vscodeTypes.js +3 -3
  157. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  158. package/dist/src/main.d.ts.map +1 -1
  159. package/dist/src/main.js +3 -0
  160. package/dist/src/main.js.map +1 -1
  161. package/dist/src/package.json +313 -210
  162. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionsFetchService.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/common/completionsFetchService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
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.ICompletionsFetchService = exports.CompletionsFetchError = exports.Completions = void 0;
8
+ const services_1 = require("../../../util/common/services");
9
+ var Completions;
10
+ (function (Completions) {
11
+ class RequestCancelled {
12
+ constructor() {
13
+ this.kind = 'cancelled';
14
+ }
15
+ }
16
+ Completions.RequestCancelled = RequestCancelled;
17
+ class UnsuccessfulResponse {
18
+ constructor(status, statusText, headers, text) {
19
+ this.status = status;
20
+ this.statusText = statusText;
21
+ this.headers = headers;
22
+ this.text = text;
23
+ this.kind = 'not-200-status';
24
+ }
25
+ }
26
+ Completions.UnsuccessfulResponse = UnsuccessfulResponse;
27
+ class Unexpected {
28
+ constructor(error) {
29
+ this.error = error;
30
+ this.kind = 'unexpected';
31
+ }
32
+ }
33
+ Completions.Unexpected = Unexpected;
34
+ })(Completions || (exports.Completions = Completions = {}));
35
+ class CompletionsFetchError extends Error {
36
+ constructor(type, requestId, message) {
37
+ super(message);
38
+ this.type = type;
39
+ this.requestId = requestId;
40
+ }
41
+ }
42
+ exports.CompletionsFetchError = CompletionsFetchError;
43
+ exports.ICompletionsFetchService = (0, services_1.createServiceIdentifier)('ICompletionsFetchService');
44
+ //# sourceMappingURL=completionsFetchService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionsFetchService.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/common/completionsFetchService.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAGhG,4DAAwE;AAKxE,IAAiB,WAAW,CAuD3B;AAvDD,WAAiB,WAAW;IAyB3B,MAAa,gBAAgB;QAA7B;YACU,SAAI,GAAG,WAAoB,CAAC;QACtC,CAAC;KAAA;IAFY,4BAAgB,mBAE5B,CAAA;IACD,MAAa,oBAAoB;QAEhC,YACiB,MAAc,EACd,UAAkB,EAClB,OAAiB,EACjB,IAA2B;YAH3B,WAAM,GAAN,MAAM,CAAQ;YACd,eAAU,GAAV,UAAU,CAAQ;YAClB,YAAO,GAAP,OAAO,CAAU;YACjB,SAAI,GAAJ,IAAI,CAAuB;YALnC,SAAI,GAAG,gBAAyB,CAAC;QAMtC,CAAC;KACL;IARY,gCAAoB,uBAQhC,CAAA;IACD,MAAa,UAAU;QAEtB,YACiB,KAAY;YAAZ,UAAK,GAAL,KAAK,CAAO;YAFpB,SAAI,GAAG,YAAqB,CAAC;QAGlC,CAAC;KACL;IALY,sBAAU,aAKtB,CAAA;AAaF,CAAC,EAvDgB,WAAW,2BAAX,WAAW,QAuD3B;AAID,MAAa,qBAAsB,SAAQ,KAAK;IAC/C,YACU,IAA+B,EAC/B,SAAiB,EAC1B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,SAAI,GAAJ,IAAI,CAA2B;QAC/B,cAAS,GAAT,SAAS,CAAQ;IAI3B,CAAC;CACD;AARD,sDAQC;AAEY,QAAA,wBAAwB,GAAG,IAAA,kCAAuB,EAA2B,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { Result } from '../../../util/common/result';
2
+ import { AsyncIterableObject } from '../../../util/vs/base/common/async';
3
+ import { RequestId } from '../../networking/common/fetch';
4
+ import { IHeaders, Response } from '../../networking/common/fetcherService';
5
+ import { Completion } from './completionsAPI';
6
+ export declare class ResponseStream {
7
+ private readonly fetcherResponse;
8
+ readonly requestId: RequestId;
9
+ readonly headers: IHeaders;
10
+ /**
11
+ * A promise that resolves to the array of completions that were emitted by the stream.
12
+ *
13
+ * (it's expected to not throw)
14
+ */
15
+ readonly aggregatedStream: Promise<Result<Completion[], Error>>;
16
+ /**
17
+ * A completion that aggregates completions stream.
18
+ *
19
+ * (it's expected to not throw)
20
+ */
21
+ readonly response: Promise<Result<Completion, Error>>;
22
+ /**
23
+ * The stream of completions that were emitted by the response.
24
+ *
25
+ * @throws {Error} if the response stream throws an error.
26
+ */
27
+ readonly stream: AsyncIterableObject<Completion>;
28
+ constructor(fetcherResponse: Response, stream: AsyncIterable<Completion>, requestId: RequestId, headers: IHeaders);
29
+ /**
30
+ * @throws client of the method should handle the error
31
+ */
32
+ destroy(): Promise<void>;
33
+ private static aggregateCompletionsStream;
34
+ }
35
+ //# sourceMappingURL=responseStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseStream.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/nesFetch/common/responseStream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAmB,MAAM,oCAAoC,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,cAAc;IAsBd,OAAO,CAAC,QAAQ,CAAC,eAAe;aAA+D,SAAS,EAAE,SAAS;aAAkB,OAAO,EAAE,QAAQ;IArBlK;;;;OAIG;IACH,SAAgB,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvE;;;;OAIG;IACH,SAAgB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAE7D;;;;OAIG;IACH,SAAgB,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAE3B,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,EAAkB,SAAS,EAAE,SAAS,EAAkB,OAAO,EAAE,QAAQ;IAiClK;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgFzC"}
@@ -0,0 +1,162 @@
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 = new async_1.AsyncIterableObject(async (emitter) => {
64
+ const completions = [];
65
+ let error;
66
+ try {
67
+ for await (const completion of stream) {
68
+ completions.push(completion);
69
+ emitter.emitOne(completion);
70
+ }
71
+ }
72
+ catch (e) {
73
+ error = errors.fromUnknown(e);
74
+ emitter.reject(error);
75
+ }
76
+ finally {
77
+ tokensDeferredPromise.complete(error ? result_1.Result.error(error) : result_1.Result.ok(completions));
78
+ }
79
+ });
80
+ }
81
+ /**
82
+ * @throws client of the method should handle the error
83
+ */
84
+ async destroy() {
85
+ await this.fetcherResponse.body.destroy();
86
+ }
87
+ static aggregateCompletionsStream(stream) {
88
+ let text = '';
89
+ let finishReason = null;
90
+ let aggregatedLogsProbs = null;
91
+ let aggregatedUsage = undefined;
92
+ for (const completion of stream) {
93
+ const choice = completion.choices[0]; // TODO@ulugbekna: we only support choice.index=0
94
+ text += choice.text ?? '';
95
+ if (choice.logprobs) {
96
+ if (aggregatedLogsProbs === null) {
97
+ aggregatedLogsProbs = {
98
+ tokens: [...choice.logprobs.tokens],
99
+ token_logprobs: [...choice.logprobs.token_logprobs],
100
+ text_offset: [...choice.logprobs.text_offset],
101
+ top_logprobs: [...choice.logprobs.top_logprobs],
102
+ };
103
+ }
104
+ else {
105
+ aggregatedLogsProbs.tokens.push(...choice.logprobs.tokens);
106
+ aggregatedLogsProbs.token_logprobs.push(...choice.logprobs.token_logprobs);
107
+ aggregatedLogsProbs.text_offset.push(...choice.logprobs.text_offset);
108
+ aggregatedLogsProbs.top_logprobs.push(...choice.logprobs.top_logprobs);
109
+ }
110
+ }
111
+ if (completion.usage) {
112
+ if (aggregatedUsage === undefined) {
113
+ aggregatedUsage = {
114
+ completion_tokens: completion.usage.completion_tokens,
115
+ prompt_tokens: completion.usage.prompt_tokens,
116
+ total_tokens: completion.usage.total_tokens,
117
+ completion_tokens_details: {
118
+ audio_tokens: completion.usage.completion_tokens_details.audio_tokens,
119
+ reasoning_tokens: completion.usage.completion_tokens_details.reasoning_tokens,
120
+ },
121
+ prompt_tokens_details: {
122
+ audio_tokens: completion.usage.prompt_tokens_details.audio_tokens,
123
+ reasoning_tokens: completion.usage.prompt_tokens_details.reasoning_tokens,
124
+ }
125
+ };
126
+ }
127
+ else {
128
+ aggregatedUsage.completion_tokens += completion.usage.completion_tokens;
129
+ aggregatedUsage.prompt_tokens += completion.usage.prompt_tokens;
130
+ aggregatedUsage.total_tokens += completion.usage.total_tokens;
131
+ aggregatedUsage.completion_tokens_details.audio_tokens += completion.usage.completion_tokens_details.audio_tokens;
132
+ aggregatedUsage.completion_tokens_details.reasoning_tokens += completion.usage.completion_tokens_details.reasoning_tokens;
133
+ aggregatedUsage.prompt_tokens_details.audio_tokens += completion.usage.prompt_tokens_details.audio_tokens;
134
+ aggregatedUsage.prompt_tokens_details.reasoning_tokens += completion.usage.prompt_tokens_details.reasoning_tokens;
135
+ }
136
+ }
137
+ if (choice.finish_reason) {
138
+ (0, types_1.assertType)(finishReason === null, 'cannot already have finishReason if just seeing choice.finish_reason');
139
+ finishReason = choice.finish_reason;
140
+ }
141
+ }
142
+ if (stream.length === 0) {
143
+ throw new Error(`Response is empty!`);
144
+ }
145
+ const completion = stream[0];
146
+ const choice = {
147
+ index: 0,
148
+ finish_reason: finishReason,
149
+ logprobs: aggregatedLogsProbs,
150
+ text,
151
+ };
152
+ const aggregatedCompletion = {
153
+ choices: [choice],
154
+ system_fingerprint: completion.system_fingerprint,
155
+ object: completion.object,
156
+ usage: aggregatedUsage,
157
+ };
158
+ return aggregatedCompletion;
159
+ }
160
+ }
161
+ exports.ResponseStream = ResponseStream;
162
+ //# 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,29 @@
1
+ import { Result } from '../../../util/common/result';
2
+ import { AsyncIterableObject } from '../../../util/vs/base/common/async';
3
+ import { CancellationToken } from '../../../util/vs/base/common/cancellation';
4
+ import { IAuthenticationService } from '../../authentication/common/authentication';
5
+ import { RequestId } from '../../networking/common/fetch';
6
+ import { IFetcherService, IHeaders, Response } from '../../networking/common/fetcherService';
7
+ import { Completions, ICompletionsFetchService } from '../common/completionsFetchService';
8
+ import { ResponseStream } from '../common/responseStream';
9
+ export type FetchResponse = {
10
+ status: number;
11
+ statusText: string;
12
+ headers: IHeaders;
13
+ body: AsyncIterableObject<string>;
14
+ requestId: RequestId;
15
+ response: Response;
16
+ };
17
+ export interface IFetchRequestParams extends Completions.ModelParams {
18
+ }
19
+ export declare class CompletionsFetchService implements ICompletionsFetchService {
20
+ private authService;
21
+ private fetcherService;
22
+ readonly _serviceBrand: undefined;
23
+ constructor(authService: IAuthenticationService, fetcherService: IFetcherService);
24
+ disconnectAll(): Promise<unknown>;
25
+ fetch(url: string, secretKey: string, params: IFetchRequestParams, requestId: string, ct: CancellationToken, headerOverrides?: Record<string, string>): Promise<Result<ResponseStream, Completions.CompletionsFetchFailure>>;
26
+ protected _fetchFromUrl(url: string, options: Completions.Internal.FetchOptions, ct: CancellationToken): Promise<Result<FetchResponse, Completions.CompletionsFetchFailure>>;
27
+ private getHeaders;
28
+ }
29
+ //# 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,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,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,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,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;IAyElL,OAAO,CAAC,UAAU;CAgBlB"}
@@ -0,0 +1,171 @@
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 async_1 = require("../../../util/vs/base/common/async");
53
+ const authentication_1 = require("../../authentication/common/authentication");
54
+ const fetch_1 = require("../../networking/common/fetch");
55
+ const fetcherService_1 = require("../../networking/common/fetcherService");
56
+ const completionsFetchService_1 = require("../common/completionsFetchService");
57
+ const responseStream_1 = require("../common/responseStream");
58
+ const streamTransformer_1 = require("./streamTransformer");
59
+ let CompletionsFetchService = class CompletionsFetchService {
60
+ constructor(authService, fetcherService) {
61
+ this.authService = authService;
62
+ this.fetcherService = fetcherService;
63
+ }
64
+ disconnectAll() {
65
+ return this.fetcherService.disconnectAll();
66
+ }
67
+ async fetch(url, secretKey, params, requestId, ct, headerOverrides) {
68
+ if (ct.isCancellationRequested) {
69
+ return result_1.Result.error(new completionsFetchService_1.Completions.RequestCancelled());
70
+ }
71
+ const options = {
72
+ requestId,
73
+ headers: this.getHeaders(requestId, secretKey, headerOverrides),
74
+ body: JSON.stringify({
75
+ ...params,
76
+ stream: true,
77
+ })
78
+ };
79
+ const fetchResponse = await this._fetchFromUrl(url, options, ct);
80
+ if (fetchResponse.isError()) {
81
+ return fetchResponse;
82
+ }
83
+ if (fetchResponse.val.status === 200) {
84
+ const jsonlStream = (0, streamTransformer_1.streamToLines)(fetchResponse.val.body);
85
+ const completionsStream = (0, streamTransformer_1.jsonlStreamToCompletions)(jsonlStream);
86
+ const response = new responseStream_1.ResponseStream(fetchResponse.val.response, completionsStream, fetchResponse.val.requestId, fetchResponse.val.headers);
87
+ return result_1.Result.ok(response);
88
+ }
89
+ else {
90
+ const error = new completionsFetchService_1.Completions.UnsuccessfulResponse(fetchResponse.val.status, fetchResponse.val.statusText, fetchResponse.val.headers, () => fetchResponse.val.body.toPromise().then(arr => arr.join('')).catch(() => ''));
91
+ return result_1.Result.error(error);
92
+ }
93
+ }
94
+ async _fetchFromUrl(url, options, ct) {
95
+ const fetchAbortCtl = this.fetcherService.makeAbortController();
96
+ const onCancellationDisposable = ct.onCancellationRequested(() => {
97
+ fetchAbortCtl.abort();
98
+ });
99
+ try {
100
+ const request = {
101
+ headers: options.headers,
102
+ body: options.body,
103
+ signal: fetchAbortCtl.signal,
104
+ method: 'POST',
105
+ };
106
+ const response = await this.fetcherService.fetch(url, request);
107
+ if (response.status === 200 && this.authService.copilotToken?.isFreeUser && this.authService.copilotToken?.isChatQuotaExceeded) {
108
+ this.authService.resetCopilotToken();
109
+ }
110
+ if (response.status !== 200) {
111
+ if (response.status === 402) {
112
+ // When we receive a 402, we have exceed the free tier quota
113
+ // This is stored on the token so let's refresh it
114
+ if (!this.authService.copilotToken?.isCompletionsQuotaExceeded) {
115
+ this.authService.resetCopilotToken(response.status);
116
+ await this.authService.getCopilotToken();
117
+ }
118
+ }
119
+ return result_1.Result.error(new completionsFetchService_1.Completions.UnsuccessfulResponse(response.status, response.statusText, response.headers, () => response.text().catch(() => '')));
120
+ }
121
+ const body = response.body.pipeThrough(new TextDecoderStream());
122
+ const responseStream = new async_1.AsyncIterableObject(async (emitter) => {
123
+ try {
124
+ for await (const str of body) {
125
+ emitter.emitOne(str);
126
+ }
127
+ }
128
+ catch (err) {
129
+ const error = errors.fromUnknown(err);
130
+ emitter.reject(error);
131
+ }
132
+ finally {
133
+ onCancellationDisposable.dispose();
134
+ }
135
+ });
136
+ return result_1.Result.ok({
137
+ status: response.status,
138
+ statusText: response.statusText,
139
+ headers: response.headers,
140
+ body: responseStream,
141
+ requestId: (0, fetch_1.getRequestId)(response.headers),
142
+ response,
143
+ });
144
+ }
145
+ catch (reason) {
146
+ onCancellationDisposable.dispose();
147
+ if (reason instanceof Error && reason.message === 'This operation was aborted') {
148
+ return result_1.Result.error(new completionsFetchService_1.Completions.RequestCancelled());
149
+ }
150
+ const error = errors.fromUnknown(reason);
151
+ return result_1.Result.error(new completionsFetchService_1.Completions.Unexpected(error));
152
+ }
153
+ }
154
+ getHeaders(requestId, secretKey, headerOverrides = {}) {
155
+ const headers = {
156
+ 'Content-Type': 'application/json',
157
+ 'x-policy-id': 'nil',
158
+ Authorization: 'Bearer ' + secretKey,
159
+ 'X-Request-Id': requestId,
160
+ 'X-GitHub-Api-Version': '2025-04-01',
161
+ ...headerOverrides,
162
+ };
163
+ return headers;
164
+ }
165
+ };
166
+ exports.CompletionsFetchService = CompletionsFetchService;
167
+ exports.CompletionsFetchService = CompletionsFetchService = __decorate([
168
+ __param(0, authentication_1.IAuthenticationService),
169
+ __param(1, fetcherService_1.IFetcherService)
170
+ ], CompletionsFetchService);
171
+ //# 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,10 @@
1
+ import { AsyncIterableObject } from '../../../util/vs/base/common/async';
2
+ import { Completion } from '../common/completionsAPI';
3
+ /**
4
+ * Transforms a stream of strings into a stream of lines.
5
+ *
6
+ * Listener should handle the errors coming from the input stream.
7
+ */
8
+ export declare function streamToLines(stream: AsyncIterableObject<string>): AsyncIterableObject<string>;
9
+ export declare function jsonlStreamToCompletions(jsonlStream: AsyncIterableObject<string>): AsyncIterableObject<Completion>;
10
+ //# 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,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAyB9F;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC,CA2BlH"}
@@ -0,0 +1,86 @@
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
+ const async_1 = require("../../../util/vs/base/common/async");
10
+ /**
11
+ * Transforms a stream of strings into a stream of lines.
12
+ *
13
+ * Listener should handle the errors coming from the input stream.
14
+ */
15
+ function streamToLines(stream) {
16
+ return new async_1.AsyncIterableObject(async (emitter) => {
17
+ let buffer = '';
18
+ for await (const str of stream) {
19
+ buffer += str;
20
+ do {
21
+ const newlineIndex = buffer.indexOf('\n');
22
+ if (newlineIndex === -1) {
23
+ break;
24
+ }
25
+ // take the first line
26
+ const line = buffer.substring(0, newlineIndex);
27
+ buffer = buffer.substring(newlineIndex + 1);
28
+ emitter.emitOne(line);
29
+ } while (true);
30
+ }
31
+ if (buffer.length > 0) {
32
+ // last line which doesn't end with \n
33
+ emitter.emitOne(buffer);
34
+ }
35
+ });
36
+ }
37
+ function jsonlStreamToCompletions(jsonlStream) {
38
+ return new async_1.AsyncIterableObject(async (emitter) => {
39
+ for await (const line of jsonlStream) {
40
+ if (line.trim() === 'data: [DONE]') {
41
+ continue;
42
+ }
43
+ if (line.startsWith('data: ')) {
44
+ try {
45
+ const message = JSON.parse(line.substring('data: '.length));
46
+ if (message.error) {
47
+ emitter.reject(new Error(message.error.message));
48
+ return;
49
+ }
50
+ emitter.emitOne(message);
51
+ }
52
+ catch (err) {
53
+ emitter.reject(err);
54
+ return;
55
+ }
56
+ }
57
+ }
58
+ });
59
+ }
60
+ // function replaceBytes(s: string): string {
61
+ // if (!s.startsWith('bytes:')) {
62
+ // return s;
63
+ // }
64
+ // const bytes: number[] = [];
65
+ // let i = 'bytes:'.length;
66
+ // const textEncoder = new TextEncoder();
67
+ // while (i < s.length) {
68
+ // if (s.slice(i, i + 3) === '\\\\x') {
69
+ // bytes.push(parseInt(s.slice(i + 3, i + 5), 16));
70
+ // i += 5;
71
+ // } else if (s.slice(i, i + 2) === '\\x') {
72
+ // bytes.push(parseInt(s.slice(i + 2, i + 4), 16));
73
+ // i += 4;
74
+ // } else {
75
+ // const encoded = textEncoder.encode(s.slice(i, i + 1));
76
+ // for (const b of encoded) {
77
+ // bytes.push(b);
78
+ // }
79
+ // i += 1;
80
+ // }
81
+ // }
82
+ // return new TextDecoder('utf8', { fatal: false }).decode(
83
+ // new Uint8Array(bytes)
84
+ // );
85
+ // }
86
+ //# 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;;AAUhG,sCAyBC;AAED,4DA2BC;AA9DD,8DAAyE;AAGzE;;;;GAIG;AACH,SAAgB,aAAa,CAAC,MAAmC;IAChE,OAAO,IAAI,2BAAmB,CAAS,KAAK,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,CAAC;YACd,GAAG,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBACzB,MAAM;gBACP,CAAC;gBAED,sBAAsB;gBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;gBAC/C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAE5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,QAAQ,IAAI,EAAE;QAChB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,sCAAsC;YACtC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,WAAwC;IAEhF,OAAO,IAAI,2BAAmB,CAAa,KAAK,EAAE,OAAO,EAAE,EAAE;QAE5D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAEtC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,cAAc,EAAE,CAAC;gBACpC,SAAS;YACV,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAiD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAE1G,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBACjD,OAAO;oBACR,CAAC;oBAED,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpB,OAAO;gBACR,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,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"}