@vscode/chat-lib 0.0.2 → 0.0.4

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 (169) hide show
  1. package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts +1 -2
  2. package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js +15 -12
  4. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js.map +1 -1
  5. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +3 -1
  6. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +107 -48
  8. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  9. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +5 -4
  10. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +85 -109
  12. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  13. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +3 -13
  14. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  15. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +32 -31
  16. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  17. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +34 -18
  18. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  19. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +60 -42
  20. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  21. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.d.ts +1 -2
  22. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.d.ts.map +1 -1
  23. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js +9 -11
  24. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js.map +1 -1
  25. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +2 -2
  26. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  27. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +98 -87
  28. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  29. package/dist/src/_internal/platform/authentication/common/authentication.d.ts.map +1 -1
  30. package/dist/src/_internal/platform/authentication/common/authentication.js +0 -2
  31. package/dist/src/_internal/platform/authentication/common/authentication.js.map +1 -1
  32. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +1 -0
  33. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
  34. package/dist/src/_internal/platform/authentication/common/copilotToken.js +3 -0
  35. package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
  36. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts +10 -1
  37. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts.map +1 -1
  38. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +48 -14
  39. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
  40. package/dist/src/_internal/platform/chat/common/chatMLFetcher.d.ts +2 -0
  41. package/dist/src/_internal/platform/chat/common/chatMLFetcher.d.ts.map +1 -1
  42. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js +6 -0
  43. package/dist/src/_internal/platform/chat/common/chatMLFetcher.js.map +1 -1
  44. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts.map +1 -1
  45. package/dist/src/_internal/platform/chat/common/commonTypes.js +2 -1
  46. package/dist/src/_internal/platform/chat/common/commonTypes.js.map +1 -1
  47. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +22 -10
  48. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  49. package/dist/src/_internal/platform/configuration/common/configurationService.js +42 -24
  50. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  51. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts +1 -1
  52. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
  53. package/dist/src/_internal/platform/endpoint/common/capiClient.js +2 -2
  54. package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
  55. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +8 -4
  56. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  57. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +16 -9
  58. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  59. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +29 -2
  60. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  61. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js +14 -0
  62. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  63. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.d.ts.map +1 -1
  64. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js +1 -1
  65. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js.map +1 -1
  66. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +7 -7
  67. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  68. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +37 -27
  69. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  70. package/dist/src/_internal/platform/endpoint/node/domainServiceImpl.d.ts.map +1 -1
  71. package/dist/src/_internal/platform/endpoint/node/domainServiceImpl.js +2 -1
  72. package/dist/src/_internal/platform/endpoint/node/domainServiceImpl.js.map +1 -1
  73. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  74. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +32 -26
  75. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  76. package/dist/src/_internal/platform/github/common/githubService.d.ts +3 -3
  77. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  78. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  79. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +8 -6
  80. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  81. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +8 -6
  82. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  83. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +2 -1
  84. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  85. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  86. package/dist/src/_internal/platform/networking/common/networking.d.ts +13 -6
  87. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  88. package/dist/src/_internal/platform/networking/common/networking.js +5 -5
  89. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  90. package/dist/src/_internal/platform/networking/node/chatStream.d.ts.map +1 -1
  91. package/dist/src/_internal/platform/networking/node/chatStream.js +333 -3
  92. package/dist/src/_internal/platform/networking/node/chatStream.js.map +1 -1
  93. package/dist/src/_internal/platform/networking/node/stream.d.ts.map +1 -1
  94. package/dist/src/_internal/platform/networking/node/stream.js +1 -2
  95. package/dist/src/_internal/platform/networking/node/stream.js.map +1 -1
  96. package/dist/src/_internal/platform/openai/node/fetch.d.ts +3 -10
  97. package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
  98. package/dist/src/_internal/platform/openai/node/fetch.js +27 -4
  99. package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
  100. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -2
  101. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  102. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js +20 -2
  103. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  104. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +1 -0
  105. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
  106. package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
  107. package/dist/src/_internal/platform/telemetry/common/telemetryData.d.ts.map +1 -1
  108. package/dist/src/_internal/platform/telemetry/common/telemetryData.js +4 -2
  109. package/dist/src/_internal/platform/telemetry/common/telemetryData.js.map +1 -1
  110. package/dist/src/_internal/platform/tokenizer/node/tokenizer.d.ts.map +1 -1
  111. package/dist/src/_internal/platform/tokenizer/node/tokenizer.js +7 -6
  112. package/dist/src/_internal/platform/tokenizer/node/tokenizer.js.map +1 -1
  113. package/dist/src/_internal/util/common/notebooks.d.ts +1 -0
  114. package/dist/src/_internal/util/common/notebooks.d.ts.map +1 -1
  115. package/dist/src/_internal/util/common/notebooks.js +4 -0
  116. package/dist/src/_internal/util/common/notebooks.js.map +1 -1
  117. package/dist/src/_internal/util/common/test/shims/enums.d.ts +6 -0
  118. package/dist/src/_internal/util/common/test/shims/enums.d.ts.map +1 -1
  119. package/dist/src/_internal/util/common/test/shims/enums.js +8 -1
  120. package/dist/src/_internal/util/common/test/shims/enums.js.map +1 -1
  121. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  122. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +2 -1
  123. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  124. package/dist/src/_internal/util/common/tracing.d.ts +11 -0
  125. package/dist/src/_internal/util/common/tracing.d.ts.map +1 -1
  126. package/dist/src/_internal/util/common/tracing.js +5 -0
  127. package/dist/src/_internal/util/common/tracing.js.map +1 -1
  128. package/dist/src/_internal/vscodeTypes.d.ts +1 -0
  129. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  130. package/dist/src/_internal/vscodeTypes.js +2 -1
  131. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  132. package/dist/src/main.d.ts +59 -9
  133. package/dist/src/main.d.ts.map +1 -1
  134. package/dist/src/main.js +147 -31
  135. package/dist/src/main.js.map +1 -1
  136. package/dist/src/package.json +268 -96
  137. package/package.json +6 -5
  138. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.d.ts +0 -42
  139. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.d.ts.map +0 -1
  140. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.js +0 -125
  141. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.js.map +0 -1
  142. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.d.ts +0 -60
  143. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.d.ts.map +0 -1
  144. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.js +0 -416
  145. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.js.map +0 -1
  146. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.d.ts +0 -30
  147. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.d.ts.map +0 -1
  148. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.js +0 -64
  149. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.js.map +0 -1
  150. package/dist/src/_internal/extension/prompts/node/inline/visualization.d.ts +0 -26
  151. package/dist/src/_internal/extension/prompts/node/inline/visualization.d.ts.map +0 -1
  152. package/dist/src/_internal/extension/prompts/node/inline/visualization.js +0 -41
  153. package/dist/src/_internal/extension/prompts/node/inline/visualization.js.map +0 -1
  154. package/dist/src/_internal/platform/editing/common/abstractText.d.ts +0 -58
  155. package/dist/src/_internal/platform/editing/common/abstractText.d.ts.map +0 -1
  156. package/dist/src/_internal/platform/editing/common/abstractText.js +0 -129
  157. package/dist/src/_internal/platform/editing/common/abstractText.js.map +0 -1
  158. package/dist/src/_internal/platform/parser/node/nodes.d.ts +0 -93
  159. package/dist/src/_internal/platform/parser/node/nodes.d.ts.map +0 -1
  160. package/dist/src/_internal/platform/parser/node/nodes.js +0 -133
  161. package/dist/src/_internal/platform/parser/node/nodes.js.map +0 -1
  162. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.d.ts +0 -18
  163. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.d.ts.map +0 -1
  164. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.js +0 -50
  165. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.js.map +0 -1
  166. package/dist/src/_internal/util/common/arrays.d.ts +0 -18
  167. package/dist/src/_internal/util/common/arrays.d.ts.map +0 -1
  168. package/dist/src/_internal/util/common/arrays.js +0 -80
  169. package/dist/src/_internal/util/common/arrays.js.map +0 -1
@@ -1,416 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SummarizedDocumentLineNumberStyle = exports.ProjectedDocument = exports.RemovableNode = void 0;
4
- exports.summarizeDocumentsSyncImpl = summarizeDocumentsSyncImpl;
5
- const arrays_1 = require("../../../../../util/common/arrays");
6
- const arrays_2 = require("../../../../../util/vs/base/common/arrays");
7
- const cache_1 = require("../../../../../util/vs/base/common/cache");
8
- const stringEdit_1 = require("../../../../../util/vs/editor/common/core/edits/stringEdit");
9
- const position_1 = require("../../../../../util/vs/editor/common/core/position");
10
- const offsetRange_1 = require("../../../../../util/vs/editor/common/core/ranges/offsetRange");
11
- const positionToOffset_1 = require("../../../../../util/vs/editor/common/core/text/positionToOffset");
12
- const textLength_1 = require("../../../../../util/vs/editor/common/core/text/textLength");
13
- const visualization_1 = require("../visualization");
14
- const fragments_1 = require("./fragments");
15
- const projectedText_1 = require("./projectedText");
16
- class RemovableNode {
17
- constructor(parent, overlayNode, range, children, _document) {
18
- this.parent = parent;
19
- this.overlayNode = overlayNode;
20
- this.range = range;
21
- this.children = children;
22
- this._document = _document;
23
- }
24
- get kind() {
25
- return this.overlayNode.kind;
26
- }
27
- get text() {
28
- return this._document.getTextInOffsetRange(this.range);
29
- }
30
- }
31
- exports.RemovableNode = RemovableNode;
32
- class ProjectedDocument extends projectedText_1.ProjectedText {
33
- constructor(baseDocument, edits) {
34
- super(baseDocument.getText(), edits);
35
- this.baseDocument = baseDocument;
36
- }
37
- getLanguageId() {
38
- return this.baseDocument.languageId;
39
- }
40
- }
41
- exports.ProjectedDocument = ProjectedDocument;
42
- function summarizeDocumentsSyncImpl(charLimit, settings, docs) {
43
- const rootMarkedNodes = [];
44
- const bestSummarizationResultsPerDocIdx = [];
45
- const allNodesWithScores = [];
46
- for (let i = 0; i < docs.length; i++) {
47
- const { document, overlayNodeRoot, selection } = docs[i];
48
- const text = document.getText();
49
- const offsetSelection = selection ? document.rangeToOffsetRange(selection) : undefined;
50
- const removableNodeRoot = createRemovableNodeFromOverlayNode(overlayNodeRoot, document);
51
- const rootTextNode = TextNode.fromRootNode(removableNodeRoot, document);
52
- const rootMarkedNode = SurvivingTextNode.fromNode(rootTextNode, !!settings.tryPreserveTypeChecking, !!settings.alwaysUseEllipsisForElisions, settings.lineNumberStyle ?? SummarizedDocumentLineNumberStyle.None);
53
- if (offsetSelection) {
54
- // mark all leaf nodes that intersect userSelection
55
- rootMarkedNode.visitAll(node => {
56
- if (!node.node.range.intersectsOrTouches(offsetSelection)) {
57
- return false;
58
- }
59
- if (node.node.children.length === 0) {
60
- node.markAsSurviving();
61
- }
62
- return true;
63
- });
64
- }
65
- rootMarkedNodes.push(rootMarkedNode);
66
- bestSummarizationResultsPerDocIdx.push(rootMarkedNode.getTextFragment());
67
- const distanceScoreToSelection = (node) => {
68
- if (!offsetSelection) {
69
- return 0;
70
- }
71
- if (node.range.endExclusive < offsetSelection.start) {
72
- // this node is above
73
- return offsetSelection.start - node.range.endExclusive;
74
- }
75
- if (node.range.start > offsetSelection.endExclusive) {
76
- // this node is below
77
- return 3 * (node.range.start - offsetSelection.endExclusive); // we will punish code that is below
78
- }
79
- // this node is intersecting
80
- return 0;
81
- };
82
- const scopeDistanceDown = new cache_1.CachedFunction(node => {
83
- if (!offsetSelection) {
84
- return 0;
85
- }
86
- if (node.children.length === 0) {
87
- return node.range.intersectsOrTouches(offsetSelection) ? 0 : Number.MAX_SAFE_INTEGER;
88
- }
89
- else {
90
- return (0, arrays_1.min)(node.children.map(n => scopeDistanceDown.get(n))) + 1;
91
- }
92
- });
93
- const scopeDistance = new cache_1.CachedFunction(node => {
94
- const parentScopeDistance = node.parent ? scopeDistance.get(node.parent) : Number.MAX_SAFE_INTEGER;
95
- const nodeScopeDistanceDown = scopeDistanceDown.get(node);
96
- return Math.min(parentScopeDistance, nodeScopeDistanceDown);
97
- });
98
- const tryPreserveTypeChecking = !!settings.tryPreserveTypeChecking;
99
- let costFn = node => {
100
- if (tryPreserveTypeChecking && node.node?.kind === 'import_statement') {
101
- return 0;
102
- }
103
- return 100 * scopeDistance.get(node)
104
- + node.depth
105
- + 10 * (distanceScoreToSelection(node) / text.length);
106
- };
107
- const costFnOverride = typeof settings.costFnOverride === 'object' ? settings.costFnOverride.createCostFn(document) : settings.costFnOverride;
108
- if (costFnOverride !== undefined) {
109
- const oldCostFn = costFn;
110
- costFn = (n) => {
111
- const currentScore = oldCostFn(n);
112
- if (currentScore === false) {
113
- return false;
114
- }
115
- if (!n.node) {
116
- return currentScore;
117
- }
118
- return costFnOverride(n.node, currentScore, document);
119
- };
120
- }
121
- const allNodes = rootMarkedNode.getDescendantsAndSelf();
122
- for (const node of allNodes) {
123
- if (!node.node.node) {
124
- continue;
125
- }
126
- const cost = costFn(node.node);
127
- if (cost === false) {
128
- continue;
129
- }
130
- allNodesWithScores.push({
131
- docIdx: i,
132
- node,
133
- cost
134
- });
135
- }
136
- }
137
- allNodesWithScores.sort((0, arrays_2.compareBy)(n => n.cost, arrays_2.numberComparator));
138
- const getLineNumberText = (lineNumber) => {
139
- return `${lineNumber}: `;
140
- };
141
- for (const { node, docIdx } of allNodesWithScores) {
142
- node.markAsSurviving();
143
- // total length of all nodes
144
- let totalLength = (0, arrays_2.sumBy)(rootMarkedNodes, c => c.getTextFragment().length);
145
- if (settings.lineNumberStyle === SummarizedDocumentLineNumberStyle.Full) {
146
- const textLen = textLength_1.TextLength.sum(rootMarkedNodes, c => c.getTextFragment().textLength);
147
- const maxLineNumber = docs[docIdx].document.getLineCount();
148
- const totalLineNumberChars = textLen.lineCount * getLineNumberText(maxLineNumber).length; // This is an upper bound approximation.
149
- totalLength += totalLineNumberChars;
150
- }
151
- if (totalLength > charLimit) {
152
- break;
153
- }
154
- bestSummarizationResultsPerDocIdx[docIdx] = rootMarkedNodes[docIdx].getTextFragment();
155
- }
156
- const result = [];
157
- for (let i = 0; i < bestSummarizationResultsPerDocIdx.length; i++) {
158
- const bestSummarizationResult = bestSummarizationResultsPerDocIdx[i];
159
- const { document } = docs[i];
160
- let e = bestSummarizationResult.toEditFromOriginal(document.getText().length);
161
- if (settings.lineNumberStyle === SummarizedDocumentLineNumberStyle.Full) {
162
- const summarizedDoc = e.apply(document.getText());
163
- const t = new positionToOffset_1.PositionOffsetTransformer(summarizedDoc);
164
- const lineNumberReplacements = [];
165
- const lineCount = t.textLength.lineCount;
166
- for (let curLine = 1; curLine <= lineCount; curLine++) {
167
- const offset = t.getOffset(new position_1.Position(curLine, 1));
168
- const offsetBefore = e.applyInverseToOffset(offset);
169
- const pos = document.getPositionAtOffset(offsetBefore);
170
- lineNumberReplacements.push(new stringEdit_1.StringReplacement(offsetRange_1.OffsetRange.emptyAt(offset), getLineNumberText(pos.line + 1)));
171
- }
172
- e = e.compose(new stringEdit_1.StringEdit(lineNumberReplacements));
173
- }
174
- const projectedDoc = new ProjectedDocument(document, e);
175
- const r = projectedDoc;
176
- const rootMarkedNode = rootMarkedNodes[i];
177
- r.getVisualization = () => ({
178
- ...{ $fileExtension: 'ast.w' },
179
- source: {
180
- value: projectedDoc.originalText,
181
- decorations: (0, visualization_1.subtractRange)(offsetRange_1.OffsetRange.ofLength(projectedDoc.originalText.length), projectedDoc.edits.replacements.map(e => e.replaceRange)).map(r => ({
182
- range: [r.start, r.endExclusive],
183
- color: 'lime',
184
- }))
185
- },
186
- root: (0, visualization_1.toAstNode)(rootMarkedNode, n => ({
187
- label: (n.node.node?.kind || 'unknown') + ` (${allNodesWithScores.find(nws => nws.node === n)?.cost})`,
188
- range: n.node.range,
189
- children: n.childNodes,
190
- isMarked: n['_surviving'],
191
- }))
192
- });
193
- result.push(projectedDoc);
194
- }
195
- return result;
196
- }
197
- function createRemovableNodeFromOverlayNode(node, document, parent = undefined) {
198
- const range = new offsetRange_1.OffsetRange(node.startIndex, node.endIndex);
199
- const children = [];
200
- const result = new RemovableNode(parent, node, range, children, document);
201
- for (const n of node.children) {
202
- children.push(createRemovableNodeFromOverlayNode(n, document, result));
203
- }
204
- return result;
205
- }
206
- /**
207
- * A dense representation of the text in a document.
208
- * Based on overlay nodes.
209
- *
210
- * **Dense**: every character is contained by some leaf node.
211
- */
212
- class TextNode {
213
- static fromRootNode(node, document) {
214
- const fullRange = new offsetRange_1.OffsetRange(0, document.length);
215
- if (node.range.equals(fullRange)) {
216
- return TextNode.fromNode(node, document);
217
- }
218
- // The root node does not cover the entire document!
219
- // So we have to create a virtual root that actually does cover the entire document.
220
- const startGap = new offsetRange_1.OffsetRange(0, node.range.start);
221
- const endGap = new offsetRange_1.OffsetRange(node.range.endExclusive, document.length);
222
- const children = [];
223
- const rootNode = new TextNode(undefined, fullRange, children, 0, null, document);
224
- if (!startGap.isEmpty) {
225
- children.push(new TextNode(undefined, startGap, [], 0, rootNode, document));
226
- }
227
- children.push(TextNode.fromNode(node, document, 1, null));
228
- if (!endGap.isEmpty) {
229
- children.push(new TextNode(undefined, endGap, [], 0, rootNode, document));
230
- }
231
- return rootNode;
232
- }
233
- static fromNode(node, document, depth = 0, parent = null) {
234
- const children = [];
235
- const result = new TextNode(node, node.range, children, depth, parent, document);
236
- if (node.children.length > 0) {
237
- let lastEnd = node.range.start;
238
- for (const n of node.children) {
239
- const gap = new offsetRange_1.OffsetRange(lastEnd, n.range.start);
240
- if (!gap.isEmpty) {
241
- children.push(new TextNode(undefined, gap, [], depth, result, document));
242
- }
243
- children.push(TextNode.fromNode(n, document, depth + 1, result));
244
- lastEnd = n.range.endExclusive;
245
- }
246
- const gap = new offsetRange_1.OffsetRange(lastEnd, node.range.endExclusive);
247
- if (!gap.isEmpty) {
248
- children.push(new TextNode(undefined, gap, [], depth, result, document));
249
- }
250
- }
251
- return result;
252
- }
253
- constructor(node, range, children, depth, parent, document) {
254
- this.node = node;
255
- this.range = range;
256
- this.children = children;
257
- this.depth = depth;
258
- this.parent = parent;
259
- this.document = document;
260
- }
261
- getLeadingWs() {
262
- return getLeadingWs(this.document.getText(), this.range);
263
- }
264
- getIndentation() {
265
- let indentation = this.getLeadingWs();
266
- const lastNewLineIdx = indentation.lastIndexOf('\n');
267
- if (lastNewLineIdx !== -1) {
268
- indentation = indentation.substring(lastNewLineIdx + 1);
269
- }
270
- return indentation;
271
- }
272
- getTrailingWs() {
273
- return getTrailingWs(this.document.getText(), this.range);
274
- }
275
- }
276
- function getLeadingWs(str, range) {
277
- const val = range.substring(str);
278
- const trimmed = val.length - val.trimStart().length;
279
- const ws = val.substring(0, trimmed);
280
- return ws;
281
- }
282
- function getTrailingWs(str, range) {
283
- const val = range.substring(str);
284
- const trimmed = val.length - val.trimEnd().length;
285
- const ws = val.substring(val.length - trimmed);
286
- return ws;
287
- }
288
- var SummarizedDocumentLineNumberStyle;
289
- (function (SummarizedDocumentLineNumberStyle) {
290
- SummarizedDocumentLineNumberStyle[SummarizedDocumentLineNumberStyle["None"] = 0] = "None";
291
- SummarizedDocumentLineNumberStyle[SummarizedDocumentLineNumberStyle["OmittedRanges"] = 1] = "OmittedRanges";
292
- SummarizedDocumentLineNumberStyle[SummarizedDocumentLineNumberStyle["Full"] = 2] = "Full";
293
- })(SummarizedDocumentLineNumberStyle || (exports.SummarizedDocumentLineNumberStyle = SummarizedDocumentLineNumberStyle = {}));
294
- class SurvivingTextNode {
295
- static fromNode(node, tryPreserveTypeChecking, alwaysUseEllipsisForElisions, lineNumberStyle) {
296
- return SurvivingTextNode.fromNodeParent(node, null, tryPreserveTypeChecking, alwaysUseEllipsisForElisions, lineNumberStyle);
297
- }
298
- static fromNodeParent(node, parent, tryPreserveTypeChecking, alwaysUseEllipsisForElisions, lineNumberStyle) {
299
- const children = [];
300
- const result = new SurvivingTextNode(node, parent, children, tryPreserveTypeChecking, alwaysUseEllipsisForElisions, lineNumberStyle);
301
- for (const child of node.children) {
302
- const childNode = SurvivingTextNode.fromNodeParent(child, result, tryPreserveTypeChecking, alwaysUseEllipsisForElisions, lineNumberStyle);
303
- children.push(childNode);
304
- }
305
- return result;
306
- }
307
- constructor(node, parent, childNodes, _tryPreserveTypeChecking, _alwaysUseEllipsisForElisions, _lineNumberStyle) {
308
- this.node = node;
309
- this.parent = parent;
310
- this.childNodes = childNodes;
311
- this._tryPreserveTypeChecking = _tryPreserveTypeChecking;
312
- this._alwaysUseEllipsisForElisions = _alwaysUseEllipsisForElisions;
313
- this._lineNumberStyle = _lineNumberStyle;
314
- this._surviving = false;
315
- this._textFragment = null;
316
- }
317
- visitAll(fn) {
318
- if (!fn(this)) {
319
- return;
320
- }
321
- for (const child of this.childNodes) {
322
- child.visitAll(fn);
323
- }
324
- }
325
- markAsSurviving() {
326
- if (this._surviving) {
327
- return;
328
- }
329
- this._surviving = true;
330
- if (this.parent) {
331
- this.parent.markAsSurviving();
332
- }
333
- this.invalidate();
334
- }
335
- invalidate() {
336
- if (!this._textFragment) {
337
- return;
338
- }
339
- this._textFragment = null;
340
- if (this.parent) {
341
- this.parent.invalidate();
342
- }
343
- }
344
- getTextFragment() {
345
- if (!this._textFragment) {
346
- this._textFragment = this._computeSummarization();
347
- }
348
- return this._textFragment;
349
- }
350
- _computeSummarization() {
351
- if (this.childNodes.length === 0 && (this._surviving || !this.node.node)) {
352
- return new fragments_1.OriginalStringFragment(this.node.range, this.node.document.getText());
353
- }
354
- if (!this._surviving) {
355
- return new fragments_1.LiteralStringFragment('');
356
- }
357
- const groups = Array.from((0, arrays_2.groupAdjacentBy)(this.childNodes.map(n => ({ node: n, fragment: n.getTextFragment() })), (f1, f2) => (f1.fragment.length === 0) === (f2.fragment.length === 0)));
358
- const getOmittedMessage = (omittedRange) => {
359
- if (this._lineNumberStyle === SummarizedDocumentLineNumberStyle.OmittedRanges) {
360
- const range = this.node.document.getPositionOffsetTransformer().getRange(omittedRange);
361
- if (range.startLineNumber !== range.endLineNumber) {
362
- return `/* Lines ${range.startLineNumber}-${range.endLineNumber} omitted */`;
363
- }
364
- return `/* Line ${range.startLineNumber} omitted */`;
365
- }
366
- return this._tryPreserveTypeChecking ? '/* ... */' : '…';
367
- };
368
- for (let i = 0; i < groups.length; i++) {
369
- // in one group, all elements either are all empty or non-empty. Also, no group is empty.
370
- const g = groups[i];
371
- const isEmpty = g[0].fragment.length === 0;
372
- if (isEmpty && i > 0 && i < groups.length - 1) {
373
- // All our fragments are empty.
374
- const prev = groups[i - 1].at(-1); // Non-empty before us
375
- const next = groups[i + 1].at(0); // Non-empty after us
376
- const fullRange = g.at(0).node.node.range.join(g.at(-1).node.node.range);
377
- if (prev.fragment instanceof fragments_1.OriginalStringFragment && next.fragment instanceof fragments_1.OriginalStringFragment) {
378
- const startTrimmed = prev.fragment.trimEnd();
379
- const endTrimmed = next.fragment.trimStart();
380
- if (startTrimmed.endsWith('{') && endTrimmed.startsWith('}')) {
381
- groups[i - 1][groups[i - 1].length - 1].fragment = startTrimmed;
382
- g.length = 1;
383
- g[0].fragment = new fragments_1.LiteralStringFragment(getOmittedMessage(fullRange));
384
- groups[i + 1][0].fragment = endTrimmed;
385
- continue;
386
- }
387
- }
388
- if (this._alwaysUseEllipsisForElisions || this._lineNumberStyle === SummarizedDocumentLineNumberStyle.OmittedRanges) {
389
- const indentation = g.at(0).node.node.getIndentation();
390
- const end = g.at(-1).node.node.getTrailingWs();
391
- g.length = 1;
392
- g[0].fragment = new fragments_1.LiteralStringFragment(indentation + getOmittedMessage(fullRange) + end);
393
- }
394
- }
395
- }
396
- const result = [];
397
- for (const group of groups) {
398
- for (const g of group) {
399
- (0, fragments_1.pushFragment)(result, g.fragment);
400
- }
401
- }
402
- return fragments_1.ConcatenatedStringFragment.from(result);
403
- }
404
- getDescendantsAndSelf() {
405
- const result = [];
406
- this._getDescendantsAndSelf(result);
407
- return result;
408
- }
409
- _getDescendantsAndSelf(result) {
410
- result.push(this);
411
- for (const child of this.childNodes) {
412
- child._getDescendantsAndSelf(result);
413
- }
414
- }
415
- }
416
- //# sourceMappingURL=implementation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../../../../../../src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type * as vscode from 'vscode';
2
- import { PositionOffsetTransformer } from '../../../../../platform/editing/common/positionOffsetTransformer';
3
- import { StringEdit } from '../../../../../util/vs/editor/common/core/edits/stringEdit';
4
- import { OffsetRange } from '../../../../../util/vs/editor/common/core/ranges/offsetRange';
5
- import { Range } from '../../../../../util/common/test/shims/vscodeTypesShim';
6
- export declare class ProjectedText {
7
- readonly originalText: string;
8
- readonly edits: StringEdit;
9
- constructor(originalText: string, edits: StringEdit);
10
- private readonly _positionOffsetTransformer;
11
- private readonly _originalPositionOffsetTransformer;
12
- get positionOffsetTransformer(): PositionOffsetTransformer;
13
- get originalPositionOffsetTransformer(): PositionOffsetTransformer;
14
- private readonly _text;
15
- get text(): string;
16
- get lineCount(): number;
17
- get isOriginal(): boolean;
18
- project(originalOffset: number): number;
19
- projectOffsetRange(originalRange: OffsetRange): OffsetRange;
20
- projectRange(originalRange: Range): Range;
21
- projectOffsetEdit(edit: StringEdit): StringEdit;
22
- tryRebase(originalEdit: StringEdit): {
23
- edit: StringEdit;
24
- text: ProjectedText;
25
- } | undefined;
26
- projectBack(projectedOffset: number): number;
27
- projectBackOffsetEdit(edit: StringEdit): StringEdit;
28
- projectBackTextEdit(edits: readonly vscode.TextEdit[]): vscode.TextEdit[];
29
- }
30
- //# sourceMappingURL=projectedText.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectedText.d.ts","sourceRoot":"","sources":["../../../../../../../../src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAE7G,OAAO,EAAE,UAAU,EAAE,MAAM,4DAA4D,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,uDAAuD,CAAC;AAC9E,qBAAa,aAAa;aAER,YAAY,EAAE,MAAM;aACpB,KAAK,EAAE,UAAU;gBADjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,UAAU;IAGlC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA4D;IACvG,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAoE;IACvH,IAAW,yBAAyB,IAAI,yBAAyB,CAAkD;IACnH,IAAW,iCAAiC,IAAI,yBAAyB,CAA0D;IAEnI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuD;IAC7E,IAAW,IAAI,IAAI,MAAM,CAA6B;IAEtD,IAAW,SAAS,IAAI,MAAM,CAA0D;IAExF,IAAW,UAAU,IAAI,OAAO,CAA8E;IAEvG,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAIvC,kBAAkB,CAAC,aAAa,EAAE,WAAW,GAAG,WAAW;IAI3D,YAAY,CAAC,aAAa,EAAE,KAAK,GAAG,KAAK;IAMzC,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAI/C,SAAS,CAAC,YAAY,EAAE,UAAU,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE,GAAG,SAAS;IAe1F,WAAW,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAI5C,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAInD,mBAAmB,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;CAKhF"}
@@ -1,64 +0,0 @@
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.ProjectedText = void 0;
8
- const positionOffsetTransformer_1 = require("../../../../../platform/editing/common/positionOffsetTransformer");
9
- const lazy_1 = require("../../../../../util/vs/base/common/lazy");
10
- class ProjectedText {
11
- constructor(originalText, edits) {
12
- this.originalText = originalText;
13
- this.edits = edits;
14
- this._positionOffsetTransformer = new lazy_1.Lazy(() => new positionOffsetTransformer_1.PositionOffsetTransformer(this.text));
15
- this._originalPositionOffsetTransformer = new lazy_1.Lazy(() => new positionOffsetTransformer_1.PositionOffsetTransformer(this.originalText));
16
- this._text = new lazy_1.Lazy(() => this.edits.apply(this.originalText));
17
- }
18
- get positionOffsetTransformer() { return this._positionOffsetTransformer.value; }
19
- get originalPositionOffsetTransformer() { return this._originalPositionOffsetTransformer.value; }
20
- get text() { return this._text.value; }
21
- get lineCount() { return this.positionOffsetTransformer.getLineCount(); }
22
- get isOriginal() { return this.edits.isEmpty() || this.edits.isNeutralOn(this.originalText); }
23
- project(originalOffset) {
24
- return this.edits.applyToOffset(originalOffset);
25
- }
26
- projectOffsetRange(originalRange) {
27
- return this.edits.applyToOffsetRange(originalRange);
28
- }
29
- projectRange(originalRange) {
30
- const offsetRange = this.originalPositionOffsetTransformer.toOffsetRange(originalRange);
31
- const projectedRange = this.projectOffsetRange(offsetRange);
32
- return this.positionOffsetTransformer.toRange(projectedRange);
33
- }
34
- projectOffsetEdit(edit) {
35
- return edit.rebaseSkipConflicting(this.edits);
36
- }
37
- tryRebase(originalEdit) {
38
- const edit = originalEdit.tryRebase(this.edits);
39
- if (!edit) {
40
- return undefined;
41
- }
42
- const newEdits = this.edits.tryRebase(originalEdit);
43
- if (!newEdits) {
44
- return undefined;
45
- }
46
- return {
47
- edit,
48
- text: new ProjectedText(originalEdit.apply(this.originalText), newEdits),
49
- };
50
- }
51
- projectBack(projectedOffset) {
52
- return this.edits.applyInverseToOffset(projectedOffset);
53
- }
54
- projectBackOffsetEdit(edit) {
55
- return edit.rebaseSkipConflicting(this.edits.inverse(this.originalText));
56
- }
57
- projectBackTextEdit(edits) {
58
- const offsetEdit = this.positionOffsetTransformer.toOffsetEdit(edits);
59
- const back = this.projectBackOffsetEdit(offsetEdit);
60
- return this.originalPositionOffsetTransformer.toTextEdits(back);
61
- }
62
- }
63
- exports.ProjectedText = ProjectedText;
64
- //# sourceMappingURL=projectedText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectedText.js","sourceRoot":"","sources":["../../../../../../../../src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { OffsetRange } from '../../../../util/vs/editor/common/core/ranges/offsetRange';
2
- export declare function toAstNode<T>(node: T, fn: (node: T) => Omit<IAstNode, 'children' | 'range'> & {
3
- range: OffsetRange;
4
- children?: readonly T[];
5
- }): IAstNode;
6
- export interface IAstVisualization {
7
- source: ISource | string;
8
- root: IAstNode;
9
- }
10
- interface IAstNode {
11
- label: string;
12
- isMarked?: boolean;
13
- range: IOffsetRange;
14
- children?: IAstNode[];
15
- }
16
- interface ISource {
17
- value: string;
18
- decorations: {
19
- range: IOffsetRange;
20
- color: string;
21
- }[];
22
- }
23
- type IOffsetRange = [start: number, endEx: number];
24
- export declare function subtractRange(range: OffsetRange, ranges: OffsetRange[]): OffsetRange[];
25
- export {};
26
- //# sourceMappingURL=visualization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visualization.d.ts","sourceRoot":"","sources":["../../../../../../../src/_internal/extension/prompts/node/inline/visualization.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAC;AAExF,wBAAgB,SAAS,CAAC,CAAC,EAC1B,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAA;CAAE,GACrG,QAAQ,CAOV;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;CACf;AAED,UAAU,QAAQ;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,UAAU,OAAO;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtD;AAED,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAGnD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAwBtF"}
@@ -1,41 +0,0 @@
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.toAstNode = toAstNode;
8
- exports.subtractRange = subtractRange;
9
- const arraysFind_1 = require("../../../../util/vs/base/common/arraysFind");
10
- const offsetRange_1 = require("../../../../util/vs/editor/common/core/ranges/offsetRange");
11
- function toAstNode(node, fn) {
12
- const data = fn(node);
13
- return {
14
- ...data,
15
- range: [data.range.start, data.range.endExclusive],
16
- children: data.children?.map(child => toAstNode(child, fn)),
17
- };
18
- }
19
- function subtractRange(range, ranges) {
20
- // idx of first element that touches range or that is after range
21
- const joinRangeStartIdx = (0, arraysFind_1.findFirstIdxMonotonousOrArrLen)(ranges, r => r.endExclusive >= range.start);
22
- // idx of element after { last element that touches range or that is before range }
23
- const joinRangeEndIdxExclusive = (0, arraysFind_1.findLastIdxMonotonous)(ranges, r => r.start <= range.endExclusive) + 1;
24
- if (joinRangeStartIdx === joinRangeEndIdxExclusive) {
25
- return [range];
26
- }
27
- const result = [];
28
- let start = range.start;
29
- for (let i = joinRangeStartIdx; i < joinRangeEndIdxExclusive; i++) {
30
- const r = ranges[i];
31
- if (r.start > start) {
32
- result.push(new offsetRange_1.OffsetRange(start, r.start));
33
- }
34
- start = r.endExclusive;
35
- }
36
- if (start < range.endExclusive) {
37
- result.push(new offsetRange_1.OffsetRange(start, range.endExclusive));
38
- }
39
- return result;
40
- }
41
- //# sourceMappingURL=visualization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"visualization.js","sourceRoot":"","sources":["../../../../../../../src/_internal/extension/prompts/node/inline/visualization.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAKhG,8BAUC;AAsBD,sCAwBC;AA3DD,2EAAmH;AACnH,2FAAwF;AAExF,SAAgB,SAAS,CACxB,IAAO,EACP,EAAuG;IAEvG,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO;QACN,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC3D,CAAC;AACH,CAAC;AAsBD,SAAgB,aAAa,CAAC,KAAkB,EAAE,MAAqB;IACtE,iEAAiE;IACjE,MAAM,iBAAiB,GAAG,IAAA,2CAA8B,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACrG,mFAAmF;IACnF,MAAM,wBAAwB,GAAG,IAAA,kCAAqB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvG,IAAI,iBAAiB,KAAK,wBAAwB,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC;QACnE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}