@aws/lsp-codewhisperer 0.0.70 → 0.0.72

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 (119) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/out/language-server/agenticChat/agenticChatController.js +27 -8
  3. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  4. package/out/language-server/agenticChat/constants/modelSelection.js +1 -1
  5. package/out/language-server/agenticChat/constants/modelSelection.js.map +1 -1
  6. package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +7 -1
  7. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +64 -17
  8. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  9. package/out/language-server/agenticChat/tools/chatDb/util.d.ts +3 -2
  10. package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
  11. package/out/language-server/agenticChat/tools/executeBash.d.ts +4 -1
  12. package/out/language-server/agenticChat/tools/executeBash.js +61 -24
  13. package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
  14. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js +279 -181
  15. package/out/language-server/agenticChat/tools/mcp/mcpEventHandler.js.map +1 -1
  16. package/out/language-server/agenticChat/tools/mcp/mcpManager.d.ts +38 -17
  17. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +263 -110
  18. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  19. package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +4 -1
  20. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
  21. package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +1 -2
  22. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +106 -28
  23. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
  24. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.d.ts +1 -0
  25. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +10 -15
  26. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
  27. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.d.ts +2 -1
  28. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js +3 -2
  29. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js.map +1 -1
  30. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.d.ts +6 -0
  31. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js +9 -0
  32. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js.map +1 -1
  33. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindings.d.ts +89 -0
  34. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindings.js +138 -0
  35. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindings.js.map +1 -0
  36. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.d.ts +14 -0
  37. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.js +41 -0
  38. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsConstants.js.map +1 -0
  39. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.d.ts +177 -0
  40. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.js +93 -0
  41. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsSchemas.js.map +1 -0
  42. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.d.ts +27 -0
  43. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.js +12 -0
  44. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsTypes.js.map +1 -0
  45. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.d.ts +17 -0
  46. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.js +33 -0
  47. package/out/language-server/agenticChat/tools/qCodeAnalysis/displayFindingsUtils.js.map +1 -0
  48. package/out/language-server/agenticChat/tools/toolServer.js +22 -2
  49. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  50. package/out/language-server/agenticChat/utils/agenticChatControllerHelper.js +1 -1
  51. package/out/language-server/agenticChat/utils/agenticChatControllerHelper.js.map +1 -1
  52. package/out/language-server/agenticChat/utils/commandParser.d.ts +17 -0
  53. package/out/language-server/agenticChat/utils/commandParser.js +85 -0
  54. package/out/language-server/agenticChat/utils/commandParser.js.map +1 -0
  55. package/out/language-server/chat/chatController.js +77 -0
  56. package/out/language-server/chat/chatController.js.map +1 -1
  57. package/out/language-server/chat/chatSessionService.js +1 -1
  58. package/out/language-server/chat/chatSessionService.js.map +1 -1
  59. package/out/language-server/chat/constants.d.ts +1 -0
  60. package/out/language-server/chat/constants.js +2 -1
  61. package/out/language-server/chat/constants.js.map +1 -1
  62. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +2 -0
  63. package/out/language-server/chat/telemetry/chatTelemetryController.js +12 -0
  64. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  65. package/out/language-server/chat/utils.js +6 -0
  66. package/out/language-server/chat/utils.js.map +1 -1
  67. package/out/language-server/configuration/qConfigurationServer.d.ts +1 -0
  68. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  69. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +2 -1
  70. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  71. package/out/language-server/inline-completion/codeDiffTracker.d.ts +9 -0
  72. package/out/language-server/inline-completion/codeDiffTracker.js.map +1 -1
  73. package/out/language-server/inline-completion/codeWhispererServer.d.ts +0 -3
  74. package/out/language-server/inline-completion/codeWhispererServer.js +80 -201
  75. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  76. package/out/language-server/inline-completion/constants.d.ts +9 -0
  77. package/out/language-server/inline-completion/constants.js +10 -0
  78. package/out/language-server/inline-completion/constants.js.map +1 -0
  79. package/out/language-server/inline-completion/documentChangedListener.d.ts +8 -0
  80. package/out/language-server/inline-completion/documentChangedListener.js +20 -0
  81. package/out/language-server/inline-completion/documentChangedListener.js.map +1 -0
  82. package/out/language-server/inline-completion/editCompletionHandler.d.ts +49 -0
  83. package/out/language-server/inline-completion/editCompletionHandler.js +320 -0
  84. package/out/language-server/inline-completion/editCompletionHandler.js.map +1 -0
  85. package/out/language-server/inline-completion/session/sessionManager.d.ts +10 -2
  86. package/out/language-server/inline-completion/session/sessionManager.js +34 -7
  87. package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
  88. package/out/language-server/inline-completion/telemetry.js +12 -2
  89. package/out/language-server/inline-completion/telemetry.js.map +1 -1
  90. package/out/language-server/inline-completion/trigger.d.ts +17 -0
  91. package/out/language-server/inline-completion/trigger.js +42 -0
  92. package/out/language-server/inline-completion/trigger.js.map +1 -0
  93. package/out/language-server/workspaceContext/artifactManager.js +25 -6
  94. package/out/language-server/workspaceContext/artifactManager.js.map +1 -1
  95. package/out/shared/codeWhispererService.d.ts +36 -1
  96. package/out/shared/codeWhispererService.js +77 -0
  97. package/out/shared/codeWhispererService.js.map +1 -1
  98. package/out/shared/constants.d.ts +1 -0
  99. package/out/shared/constants.js +2 -1
  100. package/out/shared/constants.js.map +1 -1
  101. package/out/shared/languageDetection.js +0 -2
  102. package/out/shared/languageDetection.js.map +1 -1
  103. package/out/shared/models/constants.js +2 -1
  104. package/out/shared/models/constants.js.map +1 -1
  105. package/out/shared/supplementalContextUtil/crossFileContextUtil.d.ts +5 -6
  106. package/out/shared/supplementalContextUtil/crossFileContextUtil.js +114 -10
  107. package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -1
  108. package/out/shared/supplementalContextUtil/supplementalContextUtil.d.ts +1 -2
  109. package/out/shared/supplementalContextUtil/supplementalContextUtil.js +2 -2
  110. package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -1
  111. package/out/shared/telemetry/telemetryService.js +42 -18
  112. package/out/shared/telemetry/telemetryService.js.map +1 -1
  113. package/out/shared/telemetry/types.d.ts +16 -1
  114. package/out/shared/telemetry/types.js +2 -0
  115. package/out/shared/telemetry/types.js.map +1 -1
  116. package/out/shared/utils.d.ts +13 -0
  117. package/out/shared/utils.js +60 -4
  118. package/out/shared/utils.js.map +1 -1
  119. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodewhispererServerFactory = exports.CONTEXT_CHARACTERS_LIMIT = exports.FILENAME_CHARS_LIMIT = exports.FILE_URI_CHARS_LIMIT = void 0;
3
+ exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodewhispererServerFactory = void 0;
4
4
  const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
5
5
  const autoTrigger_1 = require("./auto-trigger/autoTrigger");
6
6
  const codeWhispererService_1 = require("../../shared/codeWhispererService");
@@ -10,7 +10,6 @@ const sessionManager_1 = require("./session/sessionManager");
10
10
  const codePercentage_1 = require("./codePercentage");
11
11
  const utils_1 = require("../../shared/utils");
12
12
  const telemetryUtils_1 = require("../../shared/telemetryUtils");
13
- const supplementalContextUtil_1 = require("../../shared/supplementalContextUtil/supplementalContextUtil");
14
13
  const lsp_core_1 = require("@aws/lsp-core");
15
14
  const telemetryService_1 = require("../../shared/telemetry/telemetryService");
16
15
  const codeDiffTracker_1 = require("./codeDiffTracker");
@@ -19,42 +18,15 @@ const AmazonQTokenServiceManager_1 = require("../../shared/amazonQServiceManager
19
18
  const utils_2 = require("../../shared/utils");
20
19
  const AmazonQIAMServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQIAMServiceManager");
21
20
  const workspaceFolderManager_1 = require("../workspaceContext/workspaceFolderManager");
22
- const path = require("path");
23
- const util_1 = require("../workspaceContext/util");
24
21
  const userWrittenCodeTracker_1 = require("../../shared/userWrittenCodeTracker");
25
22
  const codeEditTracker_1 = require("./tracker/codeEditTracker");
26
23
  const cursorTracker_1 = require("./tracker/cursorTracker");
27
24
  const rejectedEditTracker_1 = require("./tracker/rejectedEditTracker");
28
25
  const diffUtils_1 = require("./diffUtils");
29
26
  const telemetry_1 = require("./telemetry");
30
- const { editPredictionAutoTrigger } = require('./auto-trigger/editPredictionAutoTrigger');
31
- const EMPTY_RESULT = { sessionId: '', items: [] };
32
- exports.FILE_URI_CHARS_LIMIT = 1024;
33
- exports.FILENAME_CHARS_LIMIT = 1024;
34
- exports.CONTEXT_CHARACTERS_LIMIT = 10240;
35
- // Both clients (token, sigv4) define their own types, this return value needs to match both of them.
36
- const getFileContext = (params) => {
37
- const left = params.textDocument.getText({
38
- start: { line: 0, character: 0 },
39
- end: params.position,
40
- });
41
- const right = params.textDocument.getText({
42
- start: params.position,
43
- end: params.textDocument.positionAt(params.textDocument.getText().length),
44
- });
45
- const relativeFilePath = params.workspaceFolder
46
- ? (0, util_1.getRelativePath)(params.workspaceFolder, params.textDocument.uri)
47
- : path.basename(params.textDocument.uri);
48
- return {
49
- fileUri: params.textDocument.uri.substring(0, exports.FILE_URI_CHARS_LIMIT),
50
- filename: relativeFilePath.substring(0, exports.FILENAME_CHARS_LIMIT),
51
- programmingLanguage: {
52
- languageName: (0, languageDetection_1.getRuntimeLanguage)(params.inferredLanguageId),
53
- },
54
- leftFileContent: left,
55
- rightFileContent: right,
56
- };
57
- };
27
+ const documentChangedListener_1 = require("./documentChangedListener");
28
+ const editCompletionHandler_1 = require("./editCompletionHandler");
29
+ const constants_1 = require("./constants");
58
30
  const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, includeImportsWithSuggestions, range) => {
59
31
  return suggestions.map(suggestion => {
60
32
  const insertText = (0, mergeRightUtils_1.truncateOverlapWithRightContext)(rightFileContext, suggestion.content);
@@ -87,7 +59,8 @@ const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, include
87
59
  const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, lsp, workspace, telemetry, logging, runtime, sdkInitializator }) => {
88
60
  let lastUserModificationTime;
89
61
  let timeSinceLastUserModification = 0;
90
- const sessionManager = sessionManager_1.SessionManager.getInstance();
62
+ const completionSessionManager = sessionManager_1.SessionManager.getInstance('COMPLETIONS');
63
+ const editSessionManager = sessionManager_1.SessionManager.getInstance('EDITS');
91
64
  // AmazonQTokenServiceManager and TelemetryService are initialized in `onInitialized` handler to make sure Language Server connection is started
92
65
  let amazonQServiceManager;
93
66
  let telemetryService;
@@ -100,12 +73,14 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
100
73
  let codePercentageTracker;
101
74
  let userWrittenCodeTracker;
102
75
  let codeDiffTracker;
76
+ let editCompletionHandler;
103
77
  // Trackers for monitoring edits and cursor position.
104
78
  const recentEditTracker = codeEditTracker_1.RecentEditTracker.getInstance(logging, codeEditTracker_1.RecentEditTrackerDefaultConfig);
105
79
  const cursorTracker = cursorTracker_1.CursorTracker.getInstance();
106
80
  const rejectedEditTracker = rejectedEditTracker_1.RejectedEditTracker.getInstance(logging, rejectedEditTracker_1.DEFAULT_REJECTED_EDIT_TRACKER_CONFIG);
107
81
  let editsEnabled = false;
108
82
  let isOnInlineCompletionHandlerInProgress = false;
83
+ const documentChangedListener = new documentChangedListener_1.DocumentChangedListener();
109
84
  const onInlineCompletionHandler = async (params, token) => {
110
85
  // this handle should not run concurrently because
111
86
  // 1. it would create a high volume of traffic, causing throttling
@@ -114,12 +89,12 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
114
89
  // but another request can start, causing the state to be incorrect.
115
90
  if (isOnInlineCompletionHandlerInProgress) {
116
91
  logging.log(`Skip concurrent inline completion`);
117
- return EMPTY_RESULT;
92
+ return constants_1.EMPTY_RESULT;
118
93
  }
119
94
  isOnInlineCompletionHandlerInProgress = true;
120
95
  try {
121
96
  // On every new completion request close current inflight session.
122
- const currentSession = sessionManager.getCurrentSession();
97
+ const currentSession = completionSessionManager.getCurrentSession();
123
98
  if (currentSession && currentSession.state == 'REQUESTING' && !params.partialResultToken) {
124
99
  // this REQUESTING state only happens when the session is initialized, which is rare
125
100
  currentSession.discardInflightSessionOnNewInvocation = true;
@@ -136,12 +111,6 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
136
111
  ...currentSession.requestContext,
137
112
  fileContext: {
138
113
  ...currentSession.requestContext.fileContext,
139
- leftFileContent: currentSession.requestContext.fileContext.leftFileContent
140
- .slice(-exports.CONTEXT_CHARACTERS_LIMIT)
141
- .replaceAll('\r\n', '\n'),
142
- rightFileContent: currentSession.requestContext.fileContext.rightFileContent
143
- .slice(0, exports.CONTEXT_CHARACTERS_LIMIT)
144
- .replaceAll('\r\n', '\n'),
145
114
  },
146
115
  nextToken: `${params.partialResultToken}`,
147
116
  });
@@ -155,18 +124,18 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
155
124
  // request for new session
156
125
  if (!textDocument) {
157
126
  logging.log(`textDocument [${params.textDocument.uri}] not found`);
158
- return EMPTY_RESULT;
127
+ return constants_1.EMPTY_RESULT;
159
128
  }
160
129
  const inferredLanguageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
161
130
  if (!inferredLanguageId) {
162
131
  logging.log(`textDocument [${params.textDocument.uri}] with languageId [${textDocument.languageId}] not supported`);
163
- return EMPTY_RESULT;
132
+ return constants_1.EMPTY_RESULT;
164
133
  }
165
134
  // Build request context
166
135
  const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
167
136
  const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
168
137
  const selectionRange = params.context.selectedCompletionInfo?.range;
169
- const fileContext = getFileContext({
138
+ const fileContext = (0, codeWhispererService_1.getFileContext)({
170
139
  textDocument,
171
140
  inferredLanguageId,
172
141
  position: params.position,
@@ -176,133 +145,55 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
176
145
  const workspaceId = workspaceState?.webSocketClient?.isConnected()
177
146
  ? workspaceState.workspaceId
178
147
  : undefined;
179
- let triggerCharacters = '';
180
- let codewhispererAutoTriggerType = undefined;
181
- // Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
182
- if (params.documentChangeParams?.contentChanges &&
183
- params.documentChangeParams.contentChanges.length > 0 &&
184
- params.documentChangeParams.contentChanges[0].text !== undefined) {
185
- triggerCharacters = params.documentChangeParams.contentChanges[0].text;
186
- codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
187
- }
188
- else {
189
- // if the client does not emit document change for the trigger, use left most character.
190
- triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
191
- codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
192
- }
193
- const previousSession = sessionManager.getPreviousSession();
148
+ const previousSession = completionSessionManager.getPreviousSession();
194
149
  const previousDecision = previousSession?.getAggregatedUserTriggerDecision() ?? '';
195
150
  let ideCategory = '';
196
151
  const initializeParams = lsp.getClientInitializeParams();
197
152
  if (initializeParams !== undefined) {
198
153
  ideCategory = (0, telemetryUtils_1.getIdeCategory)(initializeParams);
199
154
  }
200
- // See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
201
- // In such cases, do not auto trigger.
202
- if (codewhispererAutoTriggerType === undefined) {
203
- return EMPTY_RESULT;
204
- }
205
- const autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
206
- fileContext, // The left/right file context and programming language
207
- lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
208
- char: triggerCharacters, // Add the character just inserted, if any, before the invication position
209
- ide: ideCategory ?? '',
210
- os: (0, autoTrigger_1.getNormalizeOsName)(),
211
- previousDecision, // The last decision by the user on the previous invocation
212
- triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
213
- }, logging);
214
- if (isAutomaticLspTriggerKind &&
215
- codewhispererAutoTriggerType === 'Classifier' &&
216
- !autoTriggerResult.shouldTrigger &&
217
- !(editsEnabled && codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) // There is still potentially a Edit trigger without Completion if NEP is enabled (current only BearerTokenClient)
218
- ) {
219
- return EMPTY_RESULT;
155
+ // auto trigger code path
156
+ let codewhispererAutoTriggerType = undefined;
157
+ let triggerCharacters = '';
158
+ let autoTriggerResult = undefined;
159
+ if (isAutomaticLspTriggerKind) {
160
+ // Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
161
+ if (params.documentChangeParams?.contentChanges &&
162
+ params.documentChangeParams.contentChanges.length > 0 &&
163
+ params.documentChangeParams.contentChanges[0].text !== undefined) {
164
+ triggerCharacters = params.documentChangeParams.contentChanges[0].text;
165
+ codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
166
+ }
167
+ else {
168
+ // if the client does not emit document change for the trigger, use left most character.
169
+ triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
170
+ codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
171
+ }
172
+ // See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
173
+ // In such cases, do not auto trigger.
174
+ if (codewhispererAutoTriggerType === undefined) {
175
+ return constants_1.EMPTY_RESULT;
176
+ }
177
+ autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
178
+ fileContext, // The left/right file context and programming language
179
+ lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
180
+ char: triggerCharacters, // Add the character just inserted, if any, before the invication position
181
+ ide: ideCategory ?? '',
182
+ os: (0, autoTrigger_1.getNormalizeOsName)(),
183
+ previousDecision, // The last decision by the user on the previous invocation
184
+ triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
185
+ }, logging);
186
+ if (codewhispererAutoTriggerType === 'Classifier' && !autoTriggerResult.shouldTrigger) {
187
+ return constants_1.EMPTY_RESULT;
188
+ }
220
189
  }
221
- // Get supplemental context from recent edits if available.
222
- let supplementalContextFromEdits = undefined;
223
- // supplementalContext available only via token authentication
224
- const supplementalContextPromise = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken
225
- ? (0, supplementalContextUtil_1.fetchSupplementalContext)(textDocument, params.position, workspace, logging, token, amazonQServiceManager)
226
- : Promise.resolve(undefined);
227
190
  let requestContext = {
228
191
  fileContext,
229
192
  maxResults,
230
193
  };
231
- const supplementalContext = await supplementalContextPromise;
232
- // TODO: logging
233
- if (codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) {
234
- const supplementalContextItems = supplementalContext?.supplementalContextItems || [];
235
- requestContext.supplementalContexts = [
236
- ...supplementalContextItems.map(v => ({
237
- content: v.content,
238
- filePath: v.filePath,
239
- })),
240
- ];
241
- if (editsEnabled) {
242
- const predictionTypes = [];
243
- /**
244
- * Manual trigger - should always have 'Completions'
245
- * Auto trigger
246
- * - Classifier - should have 'Completions' when classifier evalualte to true given the editor's states
247
- * - Others - should always have 'Completions'
248
- */
249
- if (!isAutomaticLspTriggerKind ||
250
- (isAutomaticLspTriggerKind && codewhispererAutoTriggerType !== 'Classifier') ||
251
- (isAutomaticLspTriggerKind &&
252
- codewhispererAutoTriggerType === 'Classifier' &&
253
- autoTriggerResult.shouldTrigger)) {
254
- predictionTypes.push(['COMPLETIONS']);
255
- }
256
- const editPredictionAutoTriggerResult = editPredictionAutoTrigger({
257
- fileContext: fileContext,
258
- lineNum: params.position.line,
259
- char: triggerCharacters,
260
- previousDecision: previousDecision,
261
- cursorHistory: cursorTracker,
262
- recentEdits: recentEditTracker,
263
- });
264
- if (editPredictionAutoTriggerResult.shouldTrigger) {
265
- predictionTypes.push(['EDITS']);
266
- }
267
- if (predictionTypes.length === 0) {
268
- return EMPTY_RESULT;
269
- }
270
- // Step 0: Determine if we have "Recent Edit context"
271
- if (recentEditTracker) {
272
- supplementalContextFromEdits =
273
- await recentEditTracker.generateEditBasedContext(textDocument);
274
- }
275
- // Step 1: Recent Edits context
276
- const supplementalContextItemsForEdits = supplementalContextFromEdits?.supplementalContextItems || [];
277
- requestContext.supplementalContexts.push(...supplementalContextItemsForEdits.map(v => ({
278
- content: v.content,
279
- filePath: v.filePath,
280
- type: 'PreviousEditorState',
281
- metadata: {
282
- previousEditorStateMetadata: {
283
- timeOffset: 1000,
284
- },
285
- },
286
- })));
287
- // Step 2: Prediction type COMPLETION, Edits or both
288
- requestContext.predictionTypes = predictionTypes.flat();
289
- // Step 3: Current Editor/Cursor state
290
- requestContext.editorState = {
291
- document: {
292
- relativeFilePath: textDocument.uri,
293
- programmingLanguage: {
294
- languageName: requestContext.fileContext.programmingLanguage.languageName,
295
- },
296
- text: textDocument.getText(),
297
- },
298
- cursorState: {
299
- position: {
300
- line: params.position.line,
301
- character: params.position.character,
302
- },
303
- },
304
- };
305
- }
194
+ const supplementalContext = await codeWhispererService.constructSupplementalContext(textDocument, params.position, workspace, recentEditTracker, logging, token, params.openTabFilepaths, { includeRecentEdits: false });
195
+ if (supplementalContext?.items) {
196
+ requestContext.supplementalContexts = supplementalContext.items;
306
197
  }
307
198
  // Close ACTIVE session and record Discard trigger decision immediately
308
199
  if (currentSession && currentSession.state === 'ACTIVE') {
@@ -316,28 +207,12 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
316
207
  }
317
208
  }
318
209
  // Emit user trigger decision at session close time for active session
319
- sessionManager.discardSession(currentSession);
320
- const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(false) : 0;
210
+ completionSessionManager.discardSession(currentSession);
211
+ const streakLength = editsEnabled ? completionSessionManager.getAndUpdateStreakLength(false) : 0;
321
212
  await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, currentSession, timeSinceLastUserModification, 0, 0, [], [], streakLength);
322
213
  }
323
- const supplementalMetadata = editsEnabled
324
- ? {
325
- // Merge metadata from edit-based context if available.
326
- contentsLength: (supplementalContext?.contentsLength || 0) +
327
- (supplementalContextFromEdits?.contentsLength || 0),
328
- latency: Math.max(supplementalContext?.latency || 0, supplementalContextFromEdits?.latency || 0),
329
- isUtg: supplementalContext?.isUtg || false,
330
- isProcessTimeout: supplementalContext?.isProcessTimeout || false,
331
- strategy: supplementalContextFromEdits
332
- ? 'recentEdits'
333
- : supplementalContext?.strategy || 'Empty',
334
- supplementalContextItems: [
335
- ...(supplementalContext?.supplementalContextItems || []),
336
- ...(supplementalContextFromEdits?.supplementalContextItems || []),
337
- ],
338
- }
339
- : supplementalContext;
340
- const newSession = sessionManager.createSession({
214
+ const supplementalMetadata = supplementalContext?.supContextData;
215
+ const newSession = completionSessionManager.createSession({
341
216
  document: textDocument,
342
217
  startPosition: params.position,
343
218
  triggerType: isAutomaticLspTriggerKind ? 'AutoTrigger' : 'OnDemand',
@@ -359,15 +234,6 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
359
234
  }
360
235
  const generateCompletionReq = {
361
236
  ...requestContext,
362
- fileContext: {
363
- ...requestContext.fileContext,
364
- leftFileContent: requestContext.fileContext.leftFileContent
365
- .slice(-exports.CONTEXT_CHARACTERS_LIMIT)
366
- .replaceAll('\r\n', '\n'),
367
- rightFileContent: requestContext.fileContext.rightFileContent
368
- .slice(0, exports.CONTEXT_CHARACTERS_LIMIT)
369
- .replaceAll('\r\n', '\n'),
370
- },
371
237
  ...(workspaceId ? { workspaceId: workspaceId } : {}),
372
238
  };
373
239
  try {
@@ -404,17 +270,17 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
404
270
  // Discard previous inflight API response due to new trigger
405
271
  if (session.discardInflightSessionOnNewInvocation) {
406
272
  session.discardInflightSessionOnNewInvocation = false;
407
- sessionManager.discardSession(session);
408
- const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(false) : 0;
273
+ completionSessionManager.discardSession(session);
274
+ const streakLength = editsEnabled ? completionSessionManager.getAndUpdateStreakLength(false) : 0;
409
275
  await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, 0, 0, [], [], streakLength);
410
276
  }
411
277
  // session was closed by user already made decisions consequent completion request before new paginated API response was received
412
278
  if (session.suggestionType !== codeWhispererService_1.SuggestionType.EDIT && // TODO: this is a shorterm fix to allow Edits tabtabtab experience, however the real solution is to manage such sessions correctly
413
279
  (session.state === 'CLOSED' || session.state === 'DISCARD')) {
414
- return EMPTY_RESULT;
280
+ return constants_1.EMPTY_RESULT;
415
281
  }
416
282
  // API response was recieved, we can activate session now
417
- sessionManager.activateSession(session);
283
+ completionSessionManager.activateSession(session);
418
284
  // Process suggestions to apply Empty or Filter filters
419
285
  const filteredSuggestions = suggestionResponse.suggestions
420
286
  // Empty suggestion filter
@@ -468,9 +334,9 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
468
334
  // close session and return empty results
469
335
  if (session.suggestionsAfterRightContextMerge.length === 0 &&
470
336
  !suggestionResponse.responseContext.nextToken) {
471
- sessionManager.closeSession(session);
337
+ completionSessionManager.closeSession(session);
472
338
  await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification);
473
- return EMPTY_RESULT;
339
+ return constants_1.EMPTY_RESULT;
474
340
  }
475
341
  return {
476
342
  items: suggestionsWithRightContext,
@@ -479,6 +345,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
479
345
  };
480
346
  }
481
347
  else {
348
+ session.hasEditsPending = suggestionResponse.responseContext.nextToken ? true : false;
482
349
  return {
483
350
  items: suggestionResponse.suggestions
484
351
  .map(suggestion => {
@@ -510,7 +377,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
510
377
  const handleSuggestionsErrors = (error, session) => {
511
378
  logging.log('Recommendation failure: ' + error);
512
379
  (0, telemetry_1.emitServiceInvocationFailure)(telemetry, session, error);
513
- sessionManager.closeSession(session);
380
+ completionSessionManager.closeSession(session);
514
381
  let translatedError = error;
515
382
  if ((0, utils_2.hasConnectionExpired)(error)) {
516
383
  translatedError = new errors_1.AmazonQServiceConnectionExpiredError((0, utils_1.getErrorMessage)(error));
@@ -520,7 +387,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
520
387
  awsErrorCode: translatedError.code,
521
388
  });
522
389
  }
523
- return EMPTY_RESULT;
390
+ return constants_1.EMPTY_RESULT;
524
391
  };
525
392
  // Schedule tracker for UserModification Telemetry event
526
393
  const enqueueCodeDiffEntry = (session, acceptedSuggestion, addedCharactersForEdit) => {
@@ -544,6 +411,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
544
411
  };
545
412
  const onLogInlineCompletionSessionResultsHandler = async (params) => {
546
413
  const { sessionId, completionSessionResult, firstCompletionDisplayLatency, totalSessionDisplayTime, typeaheadLength, isInlineEdit, addedDiagnostics, removedDiagnostics, } = params;
414
+ const sessionManager = params.isInlineEdit ? editSessionManager : completionSessionManager;
547
415
  const session = sessionManager.getSessionById(sessionId);
548
416
  if (!session) {
549
417
  logging.log(`ERROR: Session ID ${sessionId} was not found`);
@@ -561,7 +429,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
561
429
  if (acceptedSuggestion !== undefined) {
562
430
  if (acceptedSuggestion) {
563
431
  codePercentageTracker.countSuccess(session.language);
564
- if (isInlineEdit && acceptedSuggestion.content) {
432
+ if (session.suggestionType === codeWhispererService_1.SuggestionType.EDIT && acceptedSuggestion.content) {
565
433
  // [acceptedSuggestion.insertText] will be undefined for NEP suggestion. Use [acceptedSuggestion.content] instead.
566
434
  // Since [acceptedSuggestion.content] is in the form of a diff, transform the content into addedCharacters and deletedCharacters.
567
435
  const addedAndDeletedChars = (0, diffUtils_1.getAddedAndDeletedChars)(acceptedSuggestion.content);
@@ -604,8 +472,12 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
604
472
  if (firstCompletionDisplayLatency)
605
473
  (0, telemetry_1.emitPerceivedLatencyTelemetry)(telemetry, session);
606
474
  // Always emit user trigger decision at session close
607
- sessionManager.closeSession(session);
608
- const streakLength = editsEnabled ? sessionManager.getAndUpdateStreakLength(isAccepted) : 0;
475
+ // Close session unless Edit suggestion was accepted with more pending
476
+ const shouldKeepSessionOpen = session.suggestionType === codeWhispererService_1.SuggestionType.EDIT && isAccepted && session.hasEditsPending;
477
+ if (!shouldKeepSessionOpen) {
478
+ completionSessionManager.closeSession(session);
479
+ }
480
+ const streakLength = editsEnabled ? completionSessionManager.getAndUpdateStreakLength(isAccepted) : 0;
609
481
  await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, addedCharactersForEditSuggestion.length, deletedCharactersForEditSuggestion.length, addedDiagnostics, removedDiagnostics, streakLength);
610
482
  };
611
483
  const updateConfiguration = (updatedConfig) => {
@@ -657,8 +529,13 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
657
529
  const periodicLoggingEnabled = process.env.LOG_EDIT_TRACKING === 'true';
658
530
  logging.log(`[SERVER] Initialized telemetry-dependent components: CodePercentageTracker, CodeDiffTracker, periodicLogging=${periodicLoggingEnabled}`);
659
531
  await amazonQServiceManager.addDidChangeConfigurationListener(updateConfiguration);
532
+ editCompletionHandler = new editCompletionHandler_1.EditCompletionHandler(logging, clientParams, workspace, amazonQServiceManager, editSessionManager, cursorTracker, recentEditTracker, rejectedEditTracker, documentChangedListener, telemetry, telemetryService, credentialsProvider);
533
+ };
534
+ const onEditCompletion = async (param, token) => {
535
+ return await editCompletionHandler.onEditCompletion(param, token);
660
536
  };
661
537
  lsp.extensions.onInlineCompletionWithReferences(onInlineCompletionHandler);
538
+ lsp.extensions.onEditCompletion(onEditCompletion);
662
539
  lsp.extensions.onLogInlineCompletionSessionResults(onLogInlineCompletionSessionResultsHandler);
663
540
  lsp.onInitialized(onInitializedHandler);
664
541
  lsp.onDidChangeTextDocument(async (p) => {
@@ -674,7 +551,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
674
551
  return;
675
552
  }
676
553
  // exclude cases that the document change is from Q suggestions
677
- const currentSession = sessionManager.getCurrentSession();
554
+ const currentSession = completionSessionManager.getCurrentSession();
678
555
  if (!currentSession?.suggestions.some(suggestion => suggestion?.insertText && suggestion.insertText === change.text)) {
679
556
  userWrittenCodeTracker?.countUserWrittenTokens(languageId, change.text);
680
557
  }
@@ -684,6 +561,8 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
684
561
  timeSinceLastUserModification = new Date().getTime() - lastUserModificationTime;
685
562
  }
686
563
  lastUserModificationTime = new Date().getTime();
564
+ documentChangedListener.onDocumentChanged(p);
565
+ editCompletionHandler.documentChanged();
687
566
  // Process document changes with RecentEditTracker.
688
567
  if (editsEnabled && recentEditTracker) {
689
568
  logging.log(`[SERVER] Processing document change with RecentEditTracker: ${p.textDocument.uri}, version: ${textDocument.version}`);
@@ -1 +1 @@
1
- {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":";;;AAAA,qFAcuD;AACvD,4DAA6G;AAC7G,4EAM0C;AAC1C,sEAAuE;AACvE,uDAAwG;AACxG,6DAA+E;AAC/E,qDAAwD;AACxD,8CAAqH;AACrH,gEAAmF;AACnF,4CAAyC;AACzC,8EAA0E;AAC1E,uDAAkF;AAClF,sEAIkD;AAElD,8GAAiH;AAEjH,8CAAyD;AACzD,0GAA6G;AAC7G,uFAAmF;AAEnF,gFAA4E;AAC5E,+DAA6F;AAC7F,2DAAuD;AACvD,uEAAyG;AACzG,2CAAqD;AACrD,2CAKoB;AACpB,uEAAmE;AACnE,mEAA+D;AAC/D,2CAA0C;AAE1C,MAAM,gCAAgC,GAAG,CACrC,gBAAwB,EACxB,WAAyB,EACzB,6BAAsC,EACtC,KAAa,EACuB,EAAE;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,UAAU,GAAW,IAAA,iDAA+B,EAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QAChG,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU;YAClC,EAAE,MAAM,CACJ,GAAG,CAAC,EAAE,CACF,CAAC,CACG,GAAG,CAAC,yBAAyB,EAAE,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,CACnG,IAAI,UAAU,CAAC,MAAM,CAC7B;aACA,GAAG,CAAC,CAAC,CAAC,EAAE;YACL,OAAO;gBACH,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,CAAC,CAAC,GAAG;gBACnB,aAAa,EAAE,CAAC,CAAC,UAAU;gBAC3B,QAAQ,EAAE,CAAC,CAAC,yBAAyB,IAAI;oBACrC,cAAc,EAAE,CAAC,CAAC,yBAAyB,CAAC,KAAK;oBACjD,YAAY,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG;wBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG;iBACxC;aACJ,CAAA;QACL,CAAC,CAAC,CAAA;QAEN,OAAO;YACH,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,UAAU,EAAE,UAAU;YACtB,KAAK;YACL,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACvD,0BAA0B,EAAE,6BAA6B;gBACrD,CAAC,CAAC,UAAU,CAAC,0BAA0B;gBACvC,CAAC,CAAC,SAAS;SAClB,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAM,0BAA0B,GACnC,CAAC,cAA+C,EAAU,EAAE,CAC5D,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE;IACvF,IAAI,wBAAgC,CAAA;IACpC,IAAI,6BAA6B,GAAW,CAAC,CAAA;IAE7C,MAAM,wBAAwB,GAAG,+BAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IAC1E,MAAM,kBAAkB,GAAG,+BAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAE9D,gJAAgJ;IAChJ,IAAI,qBAAgD,CAAA;IACpD,IAAI,gBAAkC,CAAA;IAEtC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAwB,EAAE,EAAE;QAC5C,OAAO;YACH,YAAY,EAAE,EAAE;SACnB,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,0IAA0I;IAC1I,IAAI,qBAA4C,CAAA;IAChD,IAAI,sBAA0D,CAAA;IAC9D,IAAI,eAA+D,CAAA;IACnE,IAAI,qBAA4C,CAAA;IAEhD,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,mCAAiB,CAAC,WAAW,CAAC,OAAO,EAAE,gDAA8B,CAAC,CAAA;IAChG,MAAM,aAAa,GAAG,6BAAa,CAAC,WAAW,EAAE,CAAA;IACjD,MAAM,mBAAmB,GAAG,yCAAmB,CAAC,WAAW,CAAC,OAAO,EAAE,0DAAoC,CAAC,CAAA;IAC1G,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,IAAI,qCAAqC,GAAG,KAAK,CAAA;IAEjD,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,EAAE,CAAA;IAE7D,MAAM,yBAAyB,GAAG,KAAK,EACnC,MAA4C,EAC5C,KAAwB,EACmB,EAAE;QAC7C,kDAAkD;QAClD,kEAAkE;QAClE,+EAA+E;QAC/E,qFAAqF;QACrF,oEAAoE;QACpE,IAAI,qCAAqC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAChD,OAAO,wBAAY,CAAA;QACvB,CAAC;QACD,qCAAqC,GAAG,IAAI,CAAA;QAE5C,IAAI,CAAC;YACD,kEAAkE;YAClE,MAAM,cAAc,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,CAAA;YACnE,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACvF,oFAAoF;gBACpF,cAAc,CAAC,qCAAqC,GAAG,IAAI,CAAA;YAC/D,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzE,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YAE7E,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,CAAA;YAC5E,IAAI,MAAM,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC;gBAC9C,oDAAoD;gBACpD,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC;wBACtE,GAAG,cAAc,CAAC,cAAc;wBAChC,WAAW,EAAE;4BACT,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW;yBAC/C;wBACD,SAAS,EAAE,GAAG,MAAM,CAAC,kBAAkB,EAAE;qBAC5C,CAAC,CAAA;oBACF,OAAO,MAAM,yBAAyB,CAClC,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAC/C,CAAA;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,uBAAuB,CAAC,KAAc,EAAE,cAAc,CAAC,CAAA;gBAClE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,0BAA0B;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,CAAA;oBAClE,OAAO,wBAAY,CAAA;gBACvB,CAAC;gBAED,MAAM,kBAAkB,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;gBAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CACP,iBAAiB,MAAM,CAAC,YAAY,CAAC,GAAG,sBAAsB,YAAY,CAAC,UAAU,iBAAiB,CACzG,CAAA;oBACD,OAAO,wBAAY,CAAA;gBACvB,CAAC;gBAED,wBAAwB;gBACxB,MAAM,yBAAyB,GAC3B,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,8CAA2B,CAAC,SAAS,CAAA;gBACvE,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAA;gBACnE,MAAM,WAAW,GAAG,IAAA,qCAAc,EAAC;oBAC/B,YAAY;oBACZ,kBAAkB;oBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC;iBAClE,CAAC,CAAA;gBAEF,MAAM,cAAc,GAAG,+CAAsB,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAA;gBAChF,MAAM,WAAW,GAAG,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE;oBAC9D,CAAC,CAAC,cAAc,CAAC,WAAW;oBAC5B,CAAC,CAAC,SAAS,CAAA;gBAEf,MAAM,eAAe,GAAG,wBAAwB,CAAC,kBAAkB,EAAE,CAAA;gBACrE,MAAM,gBAAgB,GAAG,eAAe,EAAE,gCAAgC,EAAE,IAAI,EAAE,CAAA;gBAClF,IAAI,WAAW,GAAuB,EAAE,CAAA;gBACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,yBAAyB,EAAE,CAAA;gBACxD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACjC,WAAW,GAAG,IAAA,+BAAc,EAAC,gBAAgB,CAAC,CAAA;gBAClD,CAAC;gBAED,yBAAyB;gBACzB,IAAI,4BAA4B,GAAG,SAAS,CAAA;gBAC5C,IAAI,iBAAiB,GAAG,EAAE,CAAA;gBAC1B,IAAI,iBAAiB,GAAG,SAAS,CAAA;gBAEjC,IAAI,yBAAyB,EAAE,CAAC;oBAC5B,8IAA8I;oBAC9I,IACI,MAAM,CAAC,oBAAoB,EAAE,cAAc;wBAC3C,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;wBACrD,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAClE,CAAC;wBACC,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;wBACtE,4BAA4B,GAAG,IAAA,gCAAkB,EAC7C,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAC7C,CAAA;oBACL,CAAC;yBAAM,CAAC;wBACJ,wFAAwF;wBACxF,iBAAiB,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;wBACnE,4BAA4B,GAAG,IAAA,yBAAW,EAAC,WAAW,CAAC,CAAA;oBAC3D,CAAC;oBACD,uIAAuI;oBACvI,sCAAsC;oBACtC,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;wBAC7C,OAAO,wBAAY,CAAA;oBACvB,CAAC;oBAED,iBAAiB,GAAG,IAAA,yBAAW,EAC3B;wBACI,WAAW,EAAE,uDAAuD;wBACpE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,oEAAoE;wBACnG,IAAI,EAAE,iBAAiB,EAAE,0EAA0E;wBACnG,GAAG,EAAE,WAAW,IAAI,EAAE;wBACtB,EAAE,EAAE,IAAA,gCAAkB,GAAE;wBACxB,gBAAgB,EAAE,2DAA2D;wBAC7E,WAAW,EAAE,4BAA4B,EAAE,4FAA4F;qBAC1I,EACD,OAAO,CACV,CAAA;oBAED,IAAI,4BAA4B,KAAK,YAAY,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;wBACpF,OAAO,wBAAY,CAAA;oBACvB,CAAC;gBACL,CAAC;gBAED,IAAI,cAAc,GAA+B;oBAC7C,WAAW;oBACX,UAAU;iBACb,CAAA;gBAED,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,4BAA4B,CAC/E,YAAY,EACZ,MAAM,CAAC,QAAQ,EACf,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,MAAM,CAAC,gBAAgB,EACvB,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAChC,CAAA;gBAED,IAAI,mBAAmB,EAAE,KAAK,EAAE,CAAC;oBAC7B,cAAc,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,KAAK,CAAA;gBACnE,CAAC;gBAED,uEAAuE;gBACvE,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACtD,IAAI,YAAY,IAAI,cAAc,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,EAAE,CAAC;wBACxE,MAAM,iBAAiB,GAAG,IAAA,qDAAmC,EACzD,cAAc,EACd,YAAY,EACZ,WAAW,CACd,CAAA;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,OAAO;gCACH,KAAK,EAAE,iBAAiB;gCACxB,SAAS,EAAE,cAAc,CAAC,EAAE;6BAC/B,CAAA;wBACL,CAAC;oBACL,CAAC;oBACD,sEAAsE;oBACtE,wBAAwB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;oBACvD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAChG,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;gBACL,CAAC;gBAED,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,cAAc,CAAA;gBAEhE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,CAAC;oBACtD,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,MAAM,CAAC,QAAQ;oBAC9B,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;oBACnE,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,YAAY;oBACtD,cAAc,EAAE,cAAc;oBAC9B,eAAe,EAAE,yBAAyB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS;oBACrF,gBAAgB,EAAE,iBAAiB;oBACnC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB;oBACrD,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB;oBAC3D,kBAAkB,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS;oBAC7F,oBAAoB,EAAE,oBAAoB;oBAC1C,gBAAgB,EAAE,oBAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC;iBACtF,CAAC,CAAA;gBAEF,uCAAuC;gBACvC,MAAM,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,iBAAiB,CAAA;gBACnF,IAAI,YAAY,EAAE,CAAC;oBACf,cAAc,CAAC,WAAW,CAAC,eAAe;wBACtC,YAAY,GAAG,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,eAAe,CAAA;gBACxE,CAAC;gBAED,MAAM,qBAAqB,GAAG;oBAC1B,GAAG,cAAc;oBACjB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvD,CAAA;gBACD,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAA;oBAChG,OAAO,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;gBAChG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,uBAAuB,CAAC,KAAc,EAAE,UAAU,CAAC,CAAA;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,qCAAqC,GAAG,KAAK,CAAA;QACjD,CAAC;IACL,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,EACnC,kBAA+C,EAC/C,OAA6B,EAC7B,YAAqB,EACrB,cAAsB,EACtB,YAA2B,EACgB,EAAE;QAC7C,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEvD,sBAAsB,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC1D,OAAO,CAAC,6BAA6B;YACjC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,6BAA6B,CAAA;QAE1E,IAAI,YAAY,EAAE,CAAC;YACf,oEAAoE;YACpE,OAAO,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAA;YACpD,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAA;YAC5D,OAAO,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAA;YAC1F,OAAO,CAAC,yBAAyB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;YAC5E,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAA;QAC9D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;QACrF,CAAC;QAED,sEAAsE;QACtE,IAAA,0CAA8B,EAAC,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAEhG,4DAA4D;QAC5D,IAAI,OAAO,CAAC,qCAAqC,EAAE,CAAC;YAChD,OAAO,CAAC,qCAAqC,GAAG,KAAK,CAAA;YACrD,wBAAwB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAChD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChG,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;QACL,CAAC;QAED,iIAAiI;QACjI,IACI,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,mIAAmI;YACrL,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAC7D,CAAC;YACC,OAAO,wBAAY,CAAA;QACvB,CAAC;QAED,yDAAyD;QACzD,wBAAwB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAEjD,uDAAuD;QACvD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW;YACtD,0BAA0B;aACzB,MAAM,CAAC,UAAU,CAAC,EAAE;YACjB,IAAI,UAAU,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC5B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBACtD,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,OAAO,IAAI,CAAA;QACf,CAAC,CAAC;YACF,4BAA4B;aAC3B,MAAM,CAAC,UAAU,CAAC,EAAE;YACjB,oEAAoE;YACpE,sEAAsE;YACtE,wEAAwE;YACxE,oCAAoC;YACpC,MAAM,EAAE,oCAAoC,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YACzF,IAAI,oCAAoC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAA;YACf,CAAC;YAED,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,OAAO,IAAI,CAAA;YACf,CAAC;YAED,wGAAwG;YACxG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACvD,OAAO,KAAK,CAAA;QAChB,CAAC,CAAC,CAAA;QAEN,IAAI,kBAAkB,CAAC,cAAc,KAAK,qCAAc,CAAC,UAAU,EAAE,CAAC;YAClE,MAAM,EAAE,6BAA6B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YAClF,MAAM,2BAA2B,GAAG,gCAAgC,CAChE,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,EACnD,mBAAmB,EACnB,6BAA6B,EAC7B,cAAc,CACjB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAClB,iHAAiH;gBACjH,IAAI,UAAU,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBAC/B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;oBACxD,OAAO,KAAK,CAAA;gBAChB,CAAC;gBAED,OAAO,IAAI,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAA;gBACtF,IAAI,gBAAgB;oBAAE,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;YACxF,CAAC,CAAC,CAAA;YAEF,oEAAoE;YACpE,OAAO,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,CAAA;YAE9E,OAAO,CAAC,kCAAkC;gBACtC,OAAO,CAAC,kCAAkC;oBAC1C,2BAA2B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;wBACrD,OAAO,KAAK,GAAG,CAAC,UAAU,CAAC,0BAA0B,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;oBACvE,CAAC,EAAE,CAAC,CAAC,CAAA;YAET,gGAAgG;YAChG,yCAAyC;YACzC,IACI,OAAO,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC;gBACtD,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAC/C,CAAC;gBACC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC9C,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,CAChC,CAAA;gBAED,OAAO,wBAAY,CAAA;YACvB,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,2BAA2B;gBAClC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;aACnE,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;YACrF,OAAO;gBACH,KAAK,EAAE,kBAAkB,CAAC,WAAW;qBAChC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACd,oEAAoE;oBACpE,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,mBAAmB,CAC/D,UAAU,CAAC,OAAO,EAClB,YAAY,EAAE,GAAG,IAAI,EAAE,CAC1B,CAAA;oBAED,IAAI,mBAAmB,EAAE,CAAC;wBACtB,kCAAkC;wBAClC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;wBACvD,OAAO,CAAC,KAAK,CACT,+EAA+E,CAClF,CAAA;wBACD,8CAA8C;wBAC9C,OAAO;4BACH,UAAU,EAAE,EAAE;4BACd,YAAY,EAAE,IAAI;4BAClB,MAAM,EAAE,UAAU,CAAC,MAAM;yBAC5B,CAAA;oBACL,CAAC;oBAED,OAAO;wBACH,UAAU,EAAE,UAAU,CAAC,OAAO;wBAC9B,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC5B,CAAA;gBACL,CAAC,CAAC;qBACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC;gBAC3C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;aACnE,CAAA;QACL,CAAC;IACL,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAC5B,KAAY,EACZ,OAA6B,EACK,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAA;QAC/C,IAAA,wCAA4B,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAEvD,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAE9C,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,IAAI,IAAA,4BAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,eAAe,GAAG,IAAI,6CAAoC,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,eAAe,YAAY,qBAAY,EAAE,CAAC;YAC1C,MAAM,IAAI,gCAAa,CACnB,gCAAa,CAAC,aAAa,EAC3B,eAAe,CAAC,OAAO,IAAI,sCAAsC,EACjE;gBACI,YAAY,EAAE,eAAe,CAAC,IAAI;aACrC,CACJ,CAAA;QACL,CAAC;QAED,OAAO,wBAAY,CAAA;IACvB,CAAC,CAAA;IAED,wDAAwD;IACxD,MAAM,oBAAoB,GAAG,CACzB,OAA6B,EAC7B,kBAA8B,EAC9B,sBAA+B,EACjC,EAAE;QACA,MAAM,WAAW,GAAG,IAAA,2CAAmC,EAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QAC1G,+DAA+D;QAC/D,MAAM,cAAc,GAAG,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAA;QAEnG,eAAe,CAAC,OAAO,CAAC;YACpB,SAAS,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;YAC/C,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,IAAI,EAAE;YACnD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;YAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ;YAC5B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,cAAc,EAAE,cAAc;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,WAAW;YACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,cAAc,EAAE,IAAA,yBAAiB,EAAC,kBAAkB,CAAC;YACrD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SACjD,CAAC,CAAA;IACN,CAAC,CAAA;IAED,MAAM,0CAA0C,GAAG,KAAK,EAAE,MAA+C,EAAE,EAAE;QACzG,MAAM,EACF,SAAS,EACT,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACrB,GAAG,MAAM,CAAA;QAEV,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,wBAAwB,CAAA;QAE1F,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,gBAAgB,CAAC,CAAA;YAC3D,OAAM;QACV,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,mEAAmE,SAAS,EAAE,CAAC,CAAA;YAC3F,OAAM;QACV,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACnE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAClD,CAAA;QACD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAA;QACrF,IAAI,gCAAgC,GAAG,EAAE,CAAA;QACzC,IAAI,kCAAkC,GAAG,EAAE,CAAA;QAC3C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,kBAAkB,EAAE,CAAC;gBACrB,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACpD,IAAI,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/E,kHAAkH;oBAClH,iIAAiI;oBACjI,MAAM,oBAAoB,GAAG,IAAA,mCAAuB,EAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;oBAChF,IAAI,oBAAoB,EAAE,CAAC;wBACvB,gCAAgC,GAAG,oBAAoB,CAAC,eAAe,CAAA;wBACvE,kCAAkC,GAAG,oBAAoB,CAAC,iBAAiB,CAAA;wBAE3E,qBAAqB,CAAC,mBAAmB,CACrC,OAAO,CAAC,QAAQ,EAChB,gCAAgC,CACnC,CAAA;wBACD,qBAAqB,CAAC,gBAAgB,CAClC,OAAO,CAAC,QAAQ,EAChB,gCAAgC,EAChC,IAAI,CACP,CAAA;wBACD,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,gCAAgC,CAAC,CAAA;oBACvF,CAAC;gBACL,CAAC;qBAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC;oBACvC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;oBAC1F,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBAE7F,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,gDAAgD;YAChD,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAChE,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzD,OAAO,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,4BAA4B;YAC5B,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;gBACnD,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC7B,mBAAmB,CAAC,kBAAkB,CAAC;wBACnC,OAAO,EAAE,kBAAkB,CAAC,OAAO;wBACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACjC,QAAQ,EAAE,OAAO,CAAC,aAAa;qBAClC,CAAC,CAAA;oBAEF,OAAO,CAAC,KAAK,CACT,6CAA6C,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAChG,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,CAAC,mBAAmB,CACvB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,eAAe,CAClB,CAAA;QAED,IAAI,6BAA6B;YAAE,IAAA,yCAA6B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAEpF,qDAAqD;QACrD,sEAAsE;QACtE,MAAM,qBAAqB,GACvB,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,UAAU,IAAI,OAAO,CAAC,eAAe,CAAA;QAE3F,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrG,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,gCAAgC,CAAC,MAAM,EACvC,kCAAkC,CAAC,MAAM,EACzC,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,CACf,CAAA;IACL,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,aAAqC,EAAE,EAAE;QAClE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;QAElE,MAAM,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,GAAG,aAAa,CAAA;QAEjG,qBAAqB,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACzD,IAAI,0BAA0B,EAAE,CAAC;YAC7B,sBAAsB,GAAG,+CAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,sBAAsB,EAAE,CAAC;YACzB,sBAAsB,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC9D,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,qDAAqD,gBAAgB,EAAE,CAAC,CAAA;QACtF;;;UAGE;QACF,kDAAkD;QAClD,gGAAgG;QAChG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,gDAAgD,yBAAyB,EAAE,CAAC,CAAA;IAC9F,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;QACpC,qBAAqB,GAAG,cAAc,EAAE,CAAA;QAExC,MAAM,YAAY,GAAG,IAAA,eAAO,EACxB,GAAG,CAAC,yBAAyB,EAAE,EAC/B,IAAI,0CAAiC,CACjC,qEAAqE,CACxE,CACJ,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC5E,YAAY;YACR,YAAY,EAAE,qBAAqB,EAAE,GAAG,EAAE,qBAAqB,EAAE,YAAY;gBACzE,EAAE,8BAA8B,EAAE,iBAAiB,IAAI,KAAK,CAAA;QAEpE,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACvG,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,sCAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEnG,qBAAqB,GAAG,IAAI,sCAAqB,CAAC,gBAAgB,CAAC,CAAA;QACnE,eAAe,GAAG,IAAI,iCAAe,CACjC,SAAS,EACT,OAAO,EACP,KAAK,EAAE,KAAoC,EAAE,UAAU,EAAE,gCAAgC,EAAE,EAAE;YACzF,MAAM,gBAAgB,CAAC,yBAAyB,CAC5C;gBACI,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;gBACnD,sBAAsB,EAAE,UAAU;gBAClC,gCAAgC,EAAE,gCAAgC;aACrE,EACD;gBACI,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,MAAM;gBAC9C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,UAAU;gBAC5C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;aAC/C,CACJ,CAAA;QACL,CAAC,CACJ,CAAA;QAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAA;QACvE,OAAO,CAAC,GAAG,CACP,gHAAgH,sBAAsB,EAAE,CAC3I,CAAA;QAED,MAAM,qBAAqB,CAAC,iCAAiC,CAAC,mBAAmB,CAAC,CAAA;QAElF,qBAAqB,GAAG,IAAI,6CAAqB,CAC7C,OAAO,EACP,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,CACtB,CAAA;IACL,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,EAC1B,KAA2C,EAC3C,KAAwB,EACmB,EAAE;QAC7C,OAAO,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,GAAG,CAAC,UAAU,CAAC,gCAAgC,CAAC,yBAAyB,CAAC,CAAA;IAC1E,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACjD,GAAG,CAAC,UAAU,CAAC,mCAAmC,CAAC,0CAA0C,CAAC,CAAA;IAC9F,GAAG,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAEvC,GAAG,CAAC,uBAAuB,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QAClC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;QAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAM;QACV,CAAC;QAED,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,qBAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAEtE,MAAM,EAAE,0BAA0B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;YAC/E,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC9B,OAAM;YACV,CAAC;YACD,+DAA+D;YAC/D,MAAM,cAAc,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,CAAA;YACnE,IACI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAC7B,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,IAAI,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAChF,EACH,CAAC;gBACC,sBAAsB,EAAE,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3E,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,sDAAsD;QACtD,IAAI,wBAAwB,EAAE,CAAC;YAC3B,6BAA6B,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,wBAAwB,CAAA;QACnF,CAAC;QACD,wBAAwB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QAE/C,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAC5C,qBAAqB,CAAC,eAAe,EAAE,CAAA;QAEvC,mDAAmD;QACnD,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACP,+DAA+D,CAAC,CAAC,YAAY,CAAC,GAAG,cAAc,YAAY,CAAC,OAAO,EAAE,CACxH,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,cAAc,CAAC,MAAM,UAAU,CAAC,CAAA;YAE1E,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBACzC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG;gBACvB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAErD,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;YAC5F,iBAAiB,CAAC,kBAAkB,CAAC;gBACjC,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG;gBACvB,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU;gBACrC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO;gBAC/B,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI;aAC5B,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAErD,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;YAC7F,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;IAErE,OAAO,KAAK,IAAI,EAAE;QACd,0DAA0D;QAC1D,IAAI,qBAAqB;YAAE,qBAAqB,CAAC,OAAO,EAAE,CAAA;QAC1D,IAAI,sBAAsB;YAAE,sBAAsB,EAAE,OAAO,EAAE,CAAA;QAC7D,IAAI,eAAe;YAAE,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAA;QACrD,IAAI,iBAAiB;YAAE,iBAAiB,CAAC,OAAO,EAAE,CAAA;QAClD,IAAI,aAAa;YAAE,aAAa,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,mBAAmB;YAAE,mBAAmB,CAAC,OAAO,EAAE,CAAA;QAEtD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACvE,CAAC,CAAA;AACL,CAAC,CAAA;AApyBQ,QAAA,0BAA0B,8BAoyBlC;AAEQ,QAAA,sBAAsB,GAAG,IAAA,kCAA0B,EAAC,0DAA+B,CAAC,CAAA;AACpF,QAAA,wBAAwB,GAAG,IAAA,kCAA0B,EAAC,8DAAiC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare const FILE_URI_CHARS_LIMIT = 1024;
2
+ export declare const FILENAME_CHARS_LIMIT = 1024;
3
+ export declare const CONTEXT_CHARACTERS_LIMIT = 10240;
4
+ export declare const EMPTY_RESULT: {
5
+ sessionId: string;
6
+ items: never[];
7
+ };
8
+ export declare const EDIT_DEBOUNCE_INTERVAL_MS = 500;
9
+ export declare const EDIT_STALE_RETRY_COUNT = 3;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDIT_STALE_RETRY_COUNT = exports.EDIT_DEBOUNCE_INTERVAL_MS = exports.EMPTY_RESULT = exports.CONTEXT_CHARACTERS_LIMIT = exports.FILENAME_CHARS_LIMIT = exports.FILE_URI_CHARS_LIMIT = void 0;
4
+ exports.FILE_URI_CHARS_LIMIT = 1024;
5
+ exports.FILENAME_CHARS_LIMIT = 1024;
6
+ exports.CONTEXT_CHARACTERS_LIMIT = 10240;
7
+ exports.EMPTY_RESULT = { sessionId: '', items: [] };
8
+ exports.EDIT_DEBOUNCE_INTERVAL_MS = 500;
9
+ exports.EDIT_STALE_RETRY_COUNT = 3;
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,wBAAwB,GAAG,KAAK,CAAA;AAChC,QAAA,YAAY,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AAC3C,QAAA,yBAAyB,GAAG,GAAG,CAAA;AAC/B,QAAA,sBAAsB,GAAG,CAAC,CAAA"}