@aws/lsp-codewhisperer 0.0.82 → 0.0.84
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.
- package/CHANGELOG.md +43 -0
- package/out/language-server/agenticChat/agenticChatController.js +105 -35
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/agenticChatResultStream.d.ts +1 -0
- package/out/language-server/agenticChat/agenticChatResultStream.js +21 -0
- package/out/language-server/agenticChat/agenticChatResultStream.js.map +1 -1
- package/out/language-server/agenticChat/constants/constants.d.ts +30 -0
- package/out/language-server/agenticChat/constants/constants.js +44 -1
- package/out/language-server/agenticChat/constants/constants.js.map +1 -1
- package/out/language-server/agenticChat/constants/modelSelection.d.ts +2 -2
- package/out/language-server/agenticChat/constants/modelSelection.js +6 -5
- package/out/language-server/agenticChat/constants/modelSelection.js.map +1 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +2 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +3 -1
- package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
- package/out/language-server/agenticChat/context/memorybank/memoryBankController.js +4 -3
- package/out/language-server/agenticChat/context/memorybank/memoryBankController.js.map +1 -1
- package/out/language-server/agenticChat/retry/delayInterceptor.d.ts +33 -0
- package/out/language-server/agenticChat/retry/delayInterceptor.js +79 -0
- package/out/language-server/agenticChat/retry/delayInterceptor.js.map +1 -0
- package/out/language-server/agenticChat/retry/errorTransformer.d.ts +15 -0
- package/out/language-server/agenticChat/retry/errorTransformer.js +152 -0
- package/out/language-server/agenticChat/retry/errorTransformer.js.map +1 -0
- package/out/language-server/agenticChat/retry/index.d.ts +3 -0
- package/out/language-server/agenticChat/retry/index.js +11 -0
- package/out/language-server/agenticChat/retry/index.js.map +1 -0
- package/out/language-server/agenticChat/retry/qRetryStrategy.d.ts +20 -0
- package/out/language-server/agenticChat/retry/qRetryStrategy.js +71 -0
- package/out/language-server/agenticChat/retry/qRetryStrategy.js.map +1 -0
- package/out/language-server/agenticChat/retry/retryClassifier.d.ts +32 -0
- package/out/language-server/agenticChat/retry/retryClassifier.js +122 -0
- package/out/language-server/agenticChat/retry/retryClassifier.js.map +1 -0
- package/out/language-server/agenticChat/tabBarController.d.ts +4 -0
- package/out/language-server/agenticChat/tabBarController.js +19 -2
- package/out/language-server/agenticChat/tabBarController.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +3 -25
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +12 -107
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/util.js +1 -2
- package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
- package/out/language-server/agenticChat/tools/fsRead.d.ts +3 -1
- package/out/language-server/agenticChat/tools/fsRead.js +12 -7
- package/out/language-server/agenticChat/tools/fsRead.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +30 -14
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewTypes.d.ts +8 -0
- package/out/language-server/chat/chatController.js.map +1 -1
- package/out/language-server/chat/chatSessionService.d.ts +8 -1
- package/out/language-server/chat/chatSessionService.js +38 -81
- package/out/language-server/chat/chatSessionService.js.map +1 -1
- package/out/language-server/chat/constants.d.ts +1 -0
- package/out/language-server/chat/constants.js +2 -1
- package/out/language-server/chat/constants.js.map +1 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +2 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.js +12 -1
- package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
- package/out/language-server/inline-completion/codeWhispererServer.d.ts +0 -1
- package/out/language-server/inline-completion/codeWhispererServer.js +17 -481
- package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
- package/out/language-server/inline-completion/contants/constants.js.map +1 -0
- package/out/language-server/inline-completion/{editCompletionHandler.d.ts → handler/editCompletionHandler.d.ts} +10 -10
- package/out/language-server/inline-completion/{editCompletionHandler.js → handler/editCompletionHandler.js} +17 -14
- package/out/language-server/inline-completion/handler/editCompletionHandler.js.map +1 -0
- package/out/language-server/inline-completion/handler/inlineCompletionHandler.d.ts +32 -0
- package/out/language-server/inline-completion/handler/inlineCompletionHandler.js +377 -0
- package/out/language-server/inline-completion/handler/inlineCompletionHandler.js.map +1 -0
- package/out/language-server/inline-completion/handler/sessionResultsHandler.d.ts +23 -0
- package/out/language-server/inline-completion/handler/sessionResultsHandler.js +119 -0
- package/out/language-server/inline-completion/handler/sessionResultsHandler.js.map +1 -0
- package/out/language-server/inline-completion/{telemetry.d.ts → telemetry/telemetry.d.ts} +2 -2
- package/out/language-server/inline-completion/{telemetry.js → telemetry/telemetry.js} +2 -2
- package/out/language-server/inline-completion/telemetry/telemetry.js.map +1 -0
- package/out/language-server/inline-completion/{codeDiffTracker.d.ts → tracker/codeDiffTracker.d.ts} +2 -2
- package/out/language-server/inline-completion/{codeDiffTracker.js → tracker/codeDiffTracker.js} +1 -1
- package/out/language-server/inline-completion/tracker/codeDiffTracker.js.map +1 -0
- package/out/language-server/inline-completion/tracker/codeEditTracker.js +1 -1
- package/out/language-server/inline-completion/tracker/codeEditTracker.js.map +1 -1
- package/out/language-server/inline-completion/{codePercentage.d.ts → tracker/codePercentageTracker.d.ts} +1 -1
- package/out/language-server/inline-completion/{codePercentage.js → tracker/codePercentageTracker.js} +1 -1
- package/out/language-server/inline-completion/tracker/codePercentageTracker.js.map +1 -0
- package/out/language-server/inline-completion/{diffUtils.d.ts → utils/diffUtils.d.ts} +29 -12
- package/out/language-server/inline-completion/utils/diffUtils.js +407 -0
- package/out/language-server/inline-completion/utils/diffUtils.js.map +1 -0
- package/out/language-server/inline-completion/utils/mergeRightUtils.d.ts +9 -0
- package/out/language-server/inline-completion/utils/mergeRightUtils.js +67 -0
- package/out/language-server/inline-completion/utils/mergeRightUtils.js.map +1 -0
- package/out/language-server/inline-completion/utils/textDocumentUtils.d.ts +3 -0
- package/out/language-server/inline-completion/utils/textDocumentUtils.js +37 -0
- package/out/language-server/inline-completion/utils/textDocumentUtils.js.map +1 -0
- package/out/language-server/inline-completion/{trigger.d.ts → utils/triggerUtils.d.ts} +4 -4
- package/out/language-server/inline-completion/{trigger.js → utils/triggerUtils.js} +3 -3
- package/out/language-server/inline-completion/utils/triggerUtils.js.map +1 -0
- package/out/language-server/netTransform/artifactManager.d.ts +2 -2
- package/out/language-server/netTransform/artifactManager.js +6 -10
- package/out/language-server/netTransform/artifactManager.js.map +1 -1
- package/out/language-server/workspaceContext/workspaceFolderManager.js +3 -1
- package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
- package/out/shared/amazonQServiceManager/AmazonQIAMServiceManager.d.ts +1 -1
- package/out/shared/amazonQServiceManager/AmazonQIAMServiceManager.js +8 -2
- package/out/shared/amazonQServiceManager/AmazonQIAMServiceManager.js.map +1 -1
- package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js +1 -0
- package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -1
- package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js +6 -0
- package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js.map +1 -1
- package/out/shared/codeWhispererService.js +52 -20
- package/out/shared/codeWhispererService.js.map +1 -1
- package/out/shared/streamingClientService.d.ts +7 -1
- package/out/shared/streamingClientService.js +53 -15
- package/out/shared/streamingClientService.js.map +1 -1
- package/out/shared/telemetry/telemetryService.js.map +1 -1
- package/out/shared/telemetry/types.d.ts +8 -0
- package/out/shared/telemetry/types.js +1 -0
- package/out/shared/telemetry/types.js.map +1 -1
- package/out/shared/testUtils.d.ts +0 -3
- package/out/shared/testUtils.js +1 -22
- package/out/shared/testUtils.js.map +1 -1
- package/out/shared/utils.d.ts +10 -4
- package/out/shared/utils.js +20 -11
- package/out/shared/utils.js.map +1 -1
- package/package.json +4 -5
- package/out/language-server/inline-completion/codeDiffTracker.js.map +0 -1
- package/out/language-server/inline-completion/codePercentage.js.map +0 -1
- package/out/language-server/inline-completion/constants.js.map +0 -1
- package/out/language-server/inline-completion/diffUtils.js +0 -255
- package/out/language-server/inline-completion/diffUtils.js.map +0 -1
- package/out/language-server/inline-completion/editCompletionHandler.js.map +0 -1
- package/out/language-server/inline-completion/mergeRightUtils.d.ts +0 -25
- package/out/language-server/inline-completion/mergeRightUtils.js +0 -114
- package/out/language-server/inline-completion/mergeRightUtils.js.map +0 -1
- package/out/language-server/inline-completion/telemetry.js.map +0 -1
- package/out/language-server/inline-completion/trigger.js.map +0 -1
- /package/out/language-server/inline-completion/{constants.d.ts → contants/constants.d.ts} +0 -0
- /package/out/language-server/inline-completion/{constants.js → contants/constants.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":";;;AAAA,qFAauD;AACvD,4DAA6G;AAC7G,4EAW0C;AAC1C,sEAA8F;AAC9F,uDAAmE;AACnE,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;AACnF,gFAA4E;AAC5E,+DAA6F;AAC7F,2DAAuD;AACvD,uEAAyG;AACzG,2DAAuD;AACvD,2CAA8E;AAC9E,2CAKoB;AACpB,uEAAmE;AACnE,mEAA+D;AAC/D,2CAA2D;AAC3D,mFAA+E;AAC/E,2CAAgC;AAChC,8CAAmD;AAEnD,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,cAAwE,EAAU,EAAE,CACrF,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,MAAM,aAAa,GAAG,6BAAa,CAAC,WAAW,EAAE,CAAA;IACjD,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,2CAAoB,CAAC,uBAAuB,EAAE,CAAA;QAE9C,IAAI,qCAAqC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAChD,OAAO,wBAAY,CAAA;QACvB,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;YAC3D,OAAO,wBAAY,CAAA;QACvB,CAAC;QAED,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,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAEvF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,CAAA;YAC5E,MAAM,QAAQ,GAAG,oBAAoB,YAAY,gDAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;YAC5F,OAAO,CAAC,KAAK,CACT,6CAA6C,QAAQ,oBAAoB,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,CACzG,CAAA;YACD,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,IAAI,kBAAkB,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;gBAC7D,IAAI,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;oBAClD,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,EAAE,mBAA4C,CAAA;gBACjG,CAAC;gBACD,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;gBAEnE,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAE3C,2EAA2E;gBAC3E,+DAA+D;gBAC/D,2CAA2C;gBAC3C,IAAI,WAAW,GAA4B,SAAS,CAAA;gBACpD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,WAAW,GAAG;wBACV,eAAe,EAAE,MAAM,CAAC,mBAAmB,CAAC,eAAe;wBAC3D,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,CAAC,gBAAgB;wBAC7D,QAAQ,EAAE,MAAM,CAAC,mBAAmB,CAAC,QAAQ;wBAC7C,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO;wBAC3C,mBAAmB,EAAE;4BACjB,YAAY,EAAE,kBAAkB;yBACnC;qBACJ,CAAA;gBACL,CAAC;qBAAM,CAAC;oBACJ,WAAW,GAAG,IAAA,qCAAc,EAAC;wBACzB,YAAY;wBACZ,kBAAkB;wBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC;qBAClE,CAAC,CAAA;gBACN,CAAC;gBAED,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,6CAA6C;gBAC7C,MAAM,6BAA6B,GAC/B,eAAe,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,qBAAqB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;oBAClF,CAAC,CAAC,eAAe,CAAC,gCAAgC,EAAE;oBACpD,CAAC,CAAC,SAAS,CAAA;gBACnB,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,6BAA6B,EAAE,2DAA2D;wBAC5G,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,sEAAsE;oBACtE,sFAAsF;oBACtF,8FAA8F;oBAC9F,2BAA2B;oBAC3B,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;wBAC9B,wBAAwB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;wBACvD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;wBACrF,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAC7B,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,YAAY,CACf,CAAA;oBACL,CAAC;gBACL,CAAC;gBAED,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,cAAc,CAAA;gBAEhE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,CAAC;oBACtD,QAAQ,EAAE,YAAY;oBACtB,wBAAwB,EAAE,wBAAwB;oBAClD,aAAa,EAAE,MAAM,CAAC,QAAQ;oBAC9B,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;oBACnE,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,YAAqC;oBAC/E,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,uDAAuD;gBACvD,IAAI,qBAAqD,CAAA;gBAEzD,IAAI,oBAAoB,YAAY,gDAAyB,EAAE,CAAC;oBAC5D,MAAM,YAAY,GAAG,cAAiD,CAAA;oBACtE,qBAAqB,GAAG;wBACpB,GAAG,YAAY;wBACf,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC1C,CAAA;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,UAAU,GAAG,cAA+C,CAAA;oBAClE,qBAAqB,GAAG;wBACpB,GAAG,UAAU;qBAChB,CAAA;gBACL,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,oBAAoB,YAAY,gDAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;oBAC5F,OAAO,CAAC,KAAK,CAAC,oEAAoE,QAAQ,GAAG,CAAC,CAAA;oBAC9F,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,4BAA4B,EAAE,CAAA;YACtC,OAAO,CAAC,cAAc,GAAG,qCAAc,CAAC,UAAU,CAAA;QACtD,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,aAAa,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACrF,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,MAAM,EAAE,6BAA6B,EAAE,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAA;QAClF,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;YAClB,iHAAiH;YACjH,IAAI,UAAU,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;gBACxD,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,OAAO,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAA;YACtF,IAAI,gBAAgB;gBAAE,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;QACxF,CAAC,CAAC,CAAA;QAEF,oEAAoE;QACpE,OAAO,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,CAAA;QAE9E,OAAO,CAAC,kCAAkC;YACtC,OAAO,CAAC,kCAAkC;gBAC1C,2BAA2B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;oBACrD,OAAO,KAAK,GAAG,CAAC,UAAU,CAAC,0BAA0B,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;gBACvE,CAAC,EAAE,CAAC,CAAC,CAAA;QAET,gGAAgG;QAChG,yCAAyC;QACzC,IACI,OAAO,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC;YACtD,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAC/C,CAAC;YACC,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAC9C,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,CAChC,CAAA;YAED,OAAO,wBAAY,CAAA;QACvB,CAAC;QAED,OAAO;YACH,KAAK,EAAE,2BAA2B;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAAC,SAAS;SACnE,CAAA;IACL,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAC5B,KAAY,EACZ,OAA6B,EACK,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAA;QAE/C,IAAA,wCAA4B,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAEvD,6GAA6G;QAC7G,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,CACP,mEAAmE,SAAS,qBAAqB,OAAO,CAAC,KAAK,EAAE,CACnH,CAAA;YACD,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,mBAAmB,GAAG,CAAC,CAAA;QAC3B,IAAI,qBAAqB,GAAG,CAAC,CAAA;QAC7B,IAAI,kBAAkB,EAAE,CAAC;YACrB,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACpD,IAAI,OAAO,CAAC,cAAc,KAAK,qCAAc,CAAC,IAAI,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC/E,kHAAkH;gBAClH,iIAAiI;gBACjI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,mCAAuB,EAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBACxF,MAAM,cAAc,GAAG,IAAA,mCAAuB,EAAC,UAAU,EAAE,YAAY,CAAC,CAAA;gBACxE,mBAAmB,GAAG,cAAc,CAAC,eAAe,CAAA;gBACpD,qBAAqB,GAAG,cAAc,CAAC,iBAAiB,CAAA;gBAExD,qBAAqB,CAAC,6BAA6B,CAC/C,OAAO,CAAC,QAAQ,EAChB,cAAc,CAAC,eAAe,CACjC,CAAA;gBACD,qBAAqB,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC9F,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC5E,CAAC;iBAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC;gBACvC,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;gBAC1F,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAE7F,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;YACrD,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,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1F,MAAM,IAAA,4CAAgC,EAClC,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CACjD,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;QAEtF,4HAA4H;QAC5H,8HAA8H;QAC9H,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,CAAC,mBAAmB,CAAC,CAAA;QAE3D,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,CAC9B,IAAA,sCAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,CACpG,CAAA;QAED,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,CAAC,GAAG,EAAE,GAAG,wBAAwB,CAAA;QACzE,CAAC;QACD,wBAAwB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAErC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAC5C,qBAAqB,CAAC,eAAe,EAAE,CAAA;QAEvC,mDAAmD;QACnD,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;YACpC,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;AAjyBQ,QAAA,0BAA0B,8BAiyBlC;AAEL,oEAAoE;AACvD,QAAA,mBAAmB,GAAG,IAAA,kCAA0B,EAAC,CAAC,mBAAyB,EAAE,EAAE;IACxF,OAAO,IAAA,sBAAc,EAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAA,0DAA+B,GAAE,CAAC,CAAC,CAAC,IAAA,8DAAiC,GAAE,CAAA;AACxH,CAAC,CAAC,CAAA;AAEW,QAAA,sBAAsB,GAAG,IAAA,kCAA0B,EAAC,0DAA+B,CAAC,CAAA;AACpF,QAAA,wBAAwB,GAAG,IAAA,kCAA0B,EAAC,8DAAiC,CAAC,CAAA;AAE9F,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,OAAa,EAAU,EAAE;IACvE,IAAI,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC1C,wEAAwE;YACxE,OAAO,QAAQ,CAAA;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAA;QACrD,OAAO,2BAAe,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,EAAE,GAAG,CAAC,4CAA4C,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;QACvE,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC,CAAA;AAZY,QAAA,oBAAoB,wBAYhC;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,SAAc,EAAE,OAAY,EAAqC,EAAE;IAC3G,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;YAClE,MAAM,UAAU,GAAG,IAAA,4BAAoB,EAAC,GAAG,CAAC,CAAA;YAC5C,YAAY,GAAG,+BAAY,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,KAAK,GAAG,EAAE,CAAC,CAAA;QACrD,CAAC;IACL,CAAC;IACD,OAAO,YAAY,CAAA;AACvB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/contants/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;AAC5C,iDAAiD;AACpC,QAAA,eAAe,GAAG,IAAI,GAAG,CAAC;IACnC,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC,CAAA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { CancellationToken, InitializeParams, InlineCompletionListWithReferences, InlineCompletionWithReferencesParams, Range, TextDocument } from '@aws/language-server-runtimes/protocol';
|
|
2
|
-
import { RecentEditTracker } from '
|
|
2
|
+
import { RecentEditTracker } from '../tracker/codeEditTracker';
|
|
3
3
|
import { CredentialsProvider, Logging, Telemetry, Workspace } from '@aws/language-server-runtimes/server-interface';
|
|
4
|
-
import { GenerateSuggestionsResponse } from '
|
|
5
|
-
import { CodeWhispererSession, SessionManager } from '
|
|
6
|
-
import { CursorTracker } from '
|
|
7
|
-
import { CodewhispererLanguage } from '
|
|
8
|
-
import { TelemetryService } from '
|
|
9
|
-
import { AmazonQBaseServiceManager } from '
|
|
10
|
-
import { RejectedEditTracker } from '
|
|
11
|
-
import { DocumentChangedListener } from '
|
|
4
|
+
import { GenerateSuggestionsResponse } from '../../../shared/codeWhispererService';
|
|
5
|
+
import { CodeWhispererSession, SessionManager } from '../session/sessionManager';
|
|
6
|
+
import { CursorTracker } from '../tracker/cursorTracker';
|
|
7
|
+
import { CodewhispererLanguage } from '../../../shared/languageDetection';
|
|
8
|
+
import { TelemetryService } from '../../../shared/telemetry/telemetryService';
|
|
9
|
+
import { AmazonQBaseServiceManager } from '../../../shared/amazonQServiceManager/BaseAmazonQServiceManager';
|
|
10
|
+
import { RejectedEditTracker } from '../tracker/rejectedEditTracker';
|
|
11
|
+
import { DocumentChangedListener } from '../documentChangedListener';
|
|
12
12
|
export declare class EditCompletionHandler {
|
|
13
13
|
readonly logging: Logging;
|
|
14
14
|
readonly clientMetadata: InitializeParams;
|
|
@@ -29,7 +29,7 @@ export declare class EditCompletionHandler {
|
|
|
29
29
|
private readonly streakTracker;
|
|
30
30
|
private isInProgress;
|
|
31
31
|
constructor(logging: Logging, clientMetadata: InitializeParams, workspace: Workspace, amazonQServiceManager: AmazonQBaseServiceManager, sessionManager: SessionManager, cursorTracker: CursorTracker, recentEditsTracker: RecentEditTracker, rejectedEditTracker: RejectedEditTracker, documentChangedListener: DocumentChangedListener, telemetry: Telemetry, telemetryService: TelemetryService, credentialsProvider: CredentialsProvider);
|
|
32
|
-
get codeWhispererService(): import("
|
|
32
|
+
get codeWhispererService(): import("../../../shared/codeWhispererService").CodeWhispererServiceBase;
|
|
33
33
|
/**
|
|
34
34
|
* This is a workaround to refresh the debounce timer when user is typing quickly.
|
|
35
35
|
* Adding debounce at function call doesnt work because server won't process second request until first request is processed.
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EditCompletionHandler = void 0;
|
|
4
4
|
const protocol_1 = require("@aws/language-server-runtimes/protocol");
|
|
5
|
-
const codeWhispererService_1 = require("
|
|
6
|
-
const sessionManager_1 = require("
|
|
7
|
-
const languageDetection_1 = require("
|
|
8
|
-
const workspaceFolderManager_1 = require("
|
|
9
|
-
const
|
|
10
|
-
const telemetry_1 = require("
|
|
5
|
+
const codeWhispererService_1 = require("../../../shared/codeWhispererService");
|
|
6
|
+
const sessionManager_1 = require("../session/sessionManager");
|
|
7
|
+
const languageDetection_1 = require("../../../shared/languageDetection");
|
|
8
|
+
const workspaceFolderManager_1 = require("../../workspaceContext/workspaceFolderManager");
|
|
9
|
+
const triggerUtils_1 = require("../utils/triggerUtils");
|
|
10
|
+
const telemetry_1 = require("../telemetry/telemetry");
|
|
11
11
|
const lsp_core_1 = require("@aws/lsp-core");
|
|
12
|
-
const utils_1 = require("
|
|
13
|
-
const errors_1 = require("
|
|
14
|
-
const constants_1 = require("
|
|
15
|
-
const streakTracker_1 = require("
|
|
12
|
+
const utils_1 = require("../../../shared/utils");
|
|
13
|
+
const errors_1 = require("../../../shared/amazonQServiceManager/errors");
|
|
14
|
+
const constants_1 = require("../contants/constants");
|
|
15
|
+
const streakTracker_1 = require("../tracker/streakTracker");
|
|
16
|
+
const diffUtils_1 = require("../utils/diffUtils");
|
|
16
17
|
class EditCompletionHandler {
|
|
17
18
|
logging;
|
|
18
19
|
clientMetadata;
|
|
@@ -175,7 +176,7 @@ class EditCompletionHandler {
|
|
|
175
176
|
});
|
|
176
177
|
const workspaceState = workspaceFolderManager_1.WorkspaceFolderManager.getInstance()?.getWorkspaceState();
|
|
177
178
|
const workspaceId = workspaceState?.webSocketClient?.isConnected() ? workspaceState.workspaceId : undefined;
|
|
178
|
-
const qEditsTrigger = (0,
|
|
179
|
+
const qEditsTrigger = (0, triggerUtils_1.shouldTriggerEdits)(this.codeWhispererService, fileContext, params, this.cursorTracker, this.recentEditsTracker, this.sessionManager, true);
|
|
179
180
|
if (!qEditsTrigger) {
|
|
180
181
|
return constants_1.EMPTY_RESULT;
|
|
181
182
|
}
|
|
@@ -275,6 +276,8 @@ class EditCompletionHandler {
|
|
|
275
276
|
.map(suggestion => {
|
|
276
277
|
// Check if this suggestion is similar to a previously rejected edit
|
|
277
278
|
const isSimilarToRejected = this.rejectedEditTracker.isSimilarToRejected(suggestion.content, textDocument?.uri || '');
|
|
279
|
+
const processedSuggestion = (0, diffUtils_1.processEditSuggestion)(suggestion.content, session.startPosition, session.document, session.requestContext.fileContext.rightFileContent);
|
|
280
|
+
const isInlineEdit = processedSuggestion.type === codeWhispererService_1.SuggestionType.EDIT;
|
|
278
281
|
if (isSimilarToRejected) {
|
|
279
282
|
// Mark as rejected in the session
|
|
280
283
|
session.setSuggestionState(suggestion.itemId, 'Reject');
|
|
@@ -282,13 +285,13 @@ class EditCompletionHandler {
|
|
|
282
285
|
// Return empty item that will be filtered out
|
|
283
286
|
return {
|
|
284
287
|
insertText: '',
|
|
285
|
-
isInlineEdit:
|
|
288
|
+
isInlineEdit: isInlineEdit,
|
|
286
289
|
itemId: suggestion.itemId,
|
|
287
290
|
};
|
|
288
291
|
}
|
|
289
292
|
return {
|
|
290
|
-
insertText:
|
|
291
|
-
isInlineEdit:
|
|
293
|
+
insertText: processedSuggestion.suggestionContent,
|
|
294
|
+
isInlineEdit: isInlineEdit,
|
|
292
295
|
itemId: suggestion.itemId,
|
|
293
296
|
};
|
|
294
297
|
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editCompletionHandler.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/handler/editCompletionHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CancellationToken, InlineCompletionListWithReferences, InlineCompletionWithReferencesParams, Logging, Telemetry, Workspace, CredentialsProvider, Lsp } from '@aws/language-server-runtimes/server-interface';
|
|
2
|
+
import { SessionManager } from '../session/sessionManager';
|
|
3
|
+
import { CodePercentageTracker } from '../tracker/codePercentageTracker';
|
|
4
|
+
import { TelemetryService } from '../../../shared/telemetry/telemetryService';
|
|
5
|
+
import { UserWrittenCodeTracker } from '../../../shared/userWrittenCodeTracker';
|
|
6
|
+
import { RecentEditTracker } from '../tracker/codeEditTracker';
|
|
7
|
+
import { CursorTracker } from '../tracker/cursorTracker';
|
|
8
|
+
import { StreakTracker } from '../tracker/streakTracker';
|
|
9
|
+
import { AmazonQBaseServiceManager } from '../../../shared/amazonQServiceManager/BaseAmazonQServiceManager';
|
|
10
|
+
export declare class InlineCompletionHandler {
|
|
11
|
+
private readonly logging;
|
|
12
|
+
private readonly workspace;
|
|
13
|
+
private readonly amazonQServiceManager;
|
|
14
|
+
private readonly completionSessionManager;
|
|
15
|
+
private readonly codePercentageTracker;
|
|
16
|
+
private readonly userWrittenCodeTracker;
|
|
17
|
+
private readonly recentEditTracker;
|
|
18
|
+
private readonly cursorTracker;
|
|
19
|
+
private readonly streakTracker;
|
|
20
|
+
private readonly telemetry;
|
|
21
|
+
private readonly telemetryService;
|
|
22
|
+
private readonly credentialsProvider;
|
|
23
|
+
private readonly getEditsEnabled;
|
|
24
|
+
private readonly getTimeSinceLastUserModification;
|
|
25
|
+
private readonly lsp;
|
|
26
|
+
private isOnInlineCompletionHandlerInProgress;
|
|
27
|
+
constructor(logging: Logging, workspace: Workspace, amazonQServiceManager: AmazonQBaseServiceManager, completionSessionManager: SessionManager, codePercentageTracker: CodePercentageTracker, userWrittenCodeTracker: UserWrittenCodeTracker | undefined, recentEditTracker: RecentEditTracker, cursorTracker: CursorTracker, streakTracker: StreakTracker, telemetry: Telemetry, telemetryService: TelemetryService, credentialsProvider: CredentialsProvider, getEditsEnabled: () => boolean, getTimeSinceLastUserModification: () => number, lsp: Lsp);
|
|
28
|
+
onInlineCompletion(params: InlineCompletionWithReferencesParams, token: CancellationToken): Promise<InlineCompletionListWithReferences>;
|
|
29
|
+
private processNewCompletionRequest;
|
|
30
|
+
private processSuggestionResponse;
|
|
31
|
+
private handleSuggestionsErrors;
|
|
32
|
+
}
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InlineCompletionHandler = void 0;
|
|
4
|
+
const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
|
|
5
|
+
const autoTrigger_1 = require("../auto-trigger/autoTrigger");
|
|
6
|
+
const codeWhispererService_1 = require("../../../shared/codeWhispererService");
|
|
7
|
+
const languageDetection_1 = require("../../../shared/languageDetection");
|
|
8
|
+
const utils_1 = require("../../../shared/utils");
|
|
9
|
+
const telemetryUtils_1 = require("../../../shared/telemetryUtils");
|
|
10
|
+
const lsp_core_1 = require("@aws/lsp-core");
|
|
11
|
+
const errors_1 = require("../../../shared/amazonQServiceManager/errors");
|
|
12
|
+
const utils_2 = require("../../../shared/utils");
|
|
13
|
+
const workspaceFolderManager_1 = require("../../workspaceContext/workspaceFolderManager");
|
|
14
|
+
const telemetry_1 = require("../telemetry/telemetry");
|
|
15
|
+
const constants_1 = require("../contants/constants");
|
|
16
|
+
const IdleWorkspaceManager_1 = require("../../workspaceContext/IdleWorkspaceManager");
|
|
17
|
+
const mergeRightUtils_1 = require("../utils/mergeRightUtils");
|
|
18
|
+
const textDocumentUtils_1 = require("../utils/textDocumentUtils");
|
|
19
|
+
class InlineCompletionHandler {
|
|
20
|
+
logging;
|
|
21
|
+
workspace;
|
|
22
|
+
amazonQServiceManager;
|
|
23
|
+
completionSessionManager;
|
|
24
|
+
codePercentageTracker;
|
|
25
|
+
userWrittenCodeTracker;
|
|
26
|
+
recentEditTracker;
|
|
27
|
+
cursorTracker;
|
|
28
|
+
streakTracker;
|
|
29
|
+
telemetry;
|
|
30
|
+
telemetryService;
|
|
31
|
+
credentialsProvider;
|
|
32
|
+
getEditsEnabled;
|
|
33
|
+
getTimeSinceLastUserModification;
|
|
34
|
+
lsp;
|
|
35
|
+
isOnInlineCompletionHandlerInProgress = false;
|
|
36
|
+
constructor(logging, workspace, amazonQServiceManager, completionSessionManager, codePercentageTracker, userWrittenCodeTracker, recentEditTracker, cursorTracker, streakTracker, telemetry, telemetryService, credentialsProvider, getEditsEnabled, getTimeSinceLastUserModification, lsp) {
|
|
37
|
+
this.logging = logging;
|
|
38
|
+
this.workspace = workspace;
|
|
39
|
+
this.amazonQServiceManager = amazonQServiceManager;
|
|
40
|
+
this.completionSessionManager = completionSessionManager;
|
|
41
|
+
this.codePercentageTracker = codePercentageTracker;
|
|
42
|
+
this.userWrittenCodeTracker = userWrittenCodeTracker;
|
|
43
|
+
this.recentEditTracker = recentEditTracker;
|
|
44
|
+
this.cursorTracker = cursorTracker;
|
|
45
|
+
this.streakTracker = streakTracker;
|
|
46
|
+
this.telemetry = telemetry;
|
|
47
|
+
this.telemetryService = telemetryService;
|
|
48
|
+
this.credentialsProvider = credentialsProvider;
|
|
49
|
+
this.getEditsEnabled = getEditsEnabled;
|
|
50
|
+
this.getTimeSinceLastUserModification = getTimeSinceLastUserModification;
|
|
51
|
+
this.lsp = lsp;
|
|
52
|
+
}
|
|
53
|
+
async onInlineCompletion(params, token) {
|
|
54
|
+
// this handle should not run concurrently because
|
|
55
|
+
// 1. it would create a high volume of traffic, causing throttling
|
|
56
|
+
// 2. it is not designed to handle concurrent changes to these state variables.
|
|
57
|
+
// when one handler is at the API call stage, it has not yet update the session state
|
|
58
|
+
// but another request can start, causing the state to be incorrect.
|
|
59
|
+
IdleWorkspaceManager_1.IdleWorkspaceManager.recordActivityTimestamp();
|
|
60
|
+
if (this.isOnInlineCompletionHandlerInProgress) {
|
|
61
|
+
this.logging.log(`Skip concurrent inline completion`);
|
|
62
|
+
return constants_1.EMPTY_RESULT;
|
|
63
|
+
}
|
|
64
|
+
// Add this check to ensure service manager is initialized
|
|
65
|
+
if (!this.amazonQServiceManager) {
|
|
66
|
+
this.logging.log('Amazon Q Service Manager not initialized yet');
|
|
67
|
+
return constants_1.EMPTY_RESULT;
|
|
68
|
+
}
|
|
69
|
+
this.isOnInlineCompletionHandlerInProgress = true;
|
|
70
|
+
try {
|
|
71
|
+
// On every new completion request close current inflight session.
|
|
72
|
+
const currentSession = this.completionSessionManager.getCurrentSession();
|
|
73
|
+
if (currentSession && currentSession.state == 'REQUESTING' && !params.partialResultToken) {
|
|
74
|
+
// this REQUESTING state only happens when the session is initialized, which is rare
|
|
75
|
+
currentSession.discardInflightSessionOnNewInvocation = true;
|
|
76
|
+
}
|
|
77
|
+
if (this.cursorTracker) {
|
|
78
|
+
this.cursorTracker.trackPosition(params.textDocument.uri, params.position);
|
|
79
|
+
}
|
|
80
|
+
const textDocument = await (0, textDocumentUtils_1.getTextDocument)(params.textDocument.uri, this.workspace, this.logging);
|
|
81
|
+
const codeWhispererService = this.amazonQServiceManager.getCodewhispererService();
|
|
82
|
+
const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
|
|
83
|
+
this.logging.debug(`[INLINE_COMPLETION] Service ready - auth: ${authType}, partial token: ${!!params.partialResultToken}`);
|
|
84
|
+
if (params.partialResultToken && currentSession) {
|
|
85
|
+
// subsequent paginated requests for current session
|
|
86
|
+
try {
|
|
87
|
+
const suggestionResponse = await codeWhispererService.generateSuggestions({
|
|
88
|
+
...currentSession.requestContext,
|
|
89
|
+
fileContext: {
|
|
90
|
+
...currentSession.requestContext.fileContext,
|
|
91
|
+
},
|
|
92
|
+
nextToken: `${params.partialResultToken}`,
|
|
93
|
+
});
|
|
94
|
+
return await this.processSuggestionResponse(suggestionResponse, currentSession, false, params.context.selectedCompletionInfo?.range);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
return this.handleSuggestionsErrors(error, currentSession);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return await this.processNewCompletionRequest(params, textDocument, token);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
this.isOnInlineCompletionHandlerInProgress = false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async processNewCompletionRequest(params, textDocument, token) {
|
|
109
|
+
// request for new session
|
|
110
|
+
if (!textDocument) {
|
|
111
|
+
this.logging.log(`textDocument [${params.textDocument.uri}] not found`);
|
|
112
|
+
return constants_1.EMPTY_RESULT;
|
|
113
|
+
}
|
|
114
|
+
let inferredLanguageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
|
|
115
|
+
if (params.fileContextOverride?.programmingLanguage) {
|
|
116
|
+
inferredLanguageId = params.fileContextOverride?.programmingLanguage;
|
|
117
|
+
}
|
|
118
|
+
if (!inferredLanguageId) {
|
|
119
|
+
this.logging.log(`textDocument [${params.textDocument.uri}] with languageId [${textDocument.languageId}] not supported`);
|
|
120
|
+
return constants_1.EMPTY_RESULT;
|
|
121
|
+
}
|
|
122
|
+
// Build request context
|
|
123
|
+
const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
|
|
124
|
+
const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
|
|
125
|
+
const selectionRange = params.context.selectedCompletionInfo?.range;
|
|
126
|
+
const startPreprocessTimestamp = Date.now();
|
|
127
|
+
// For Jupyter Notebook in VSC, the language server does not have access to
|
|
128
|
+
// its internal states including current active cell index, etc
|
|
129
|
+
// we rely on VSC to calculate file context
|
|
130
|
+
let fileContext = undefined;
|
|
131
|
+
if (params.fileContextOverride) {
|
|
132
|
+
fileContext = {
|
|
133
|
+
leftFileContent: params.fileContextOverride.leftFileContent,
|
|
134
|
+
rightFileContent: params.fileContextOverride.rightFileContent,
|
|
135
|
+
filename: params.fileContextOverride.filename,
|
|
136
|
+
fileUri: params.fileContextOverride.fileUri,
|
|
137
|
+
programmingLanguage: {
|
|
138
|
+
languageName: inferredLanguageId,
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
fileContext = (0, codeWhispererService_1.getFileContext)({
|
|
144
|
+
textDocument,
|
|
145
|
+
inferredLanguageId,
|
|
146
|
+
position: params.position,
|
|
147
|
+
workspaceFolder: this.workspace.getWorkspaceFolder(textDocument.uri),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
const workspaceState = workspaceFolderManager_1.WorkspaceFolderManager.getInstance()?.getWorkspaceState();
|
|
151
|
+
const workspaceId = workspaceState?.webSocketClient?.isConnected() ? workspaceState.workspaceId : undefined;
|
|
152
|
+
const previousSession = this.completionSessionManager.getPreviousSession();
|
|
153
|
+
// Only refer to decisions in the past 2 mins
|
|
154
|
+
const previousDecisionForClassifier = previousSession && Date.now() - previousSession.decisionMadeTimestamp <= 2 * 60 * 1000
|
|
155
|
+
? previousSession.getAggregatedUserTriggerDecision()
|
|
156
|
+
: undefined;
|
|
157
|
+
let ideCategory = '';
|
|
158
|
+
const initializeParams = this.lsp.getClientInitializeParams();
|
|
159
|
+
if (initializeParams !== undefined) {
|
|
160
|
+
ideCategory = (0, telemetryUtils_1.getIdeCategory)(initializeParams);
|
|
161
|
+
}
|
|
162
|
+
// auto trigger code path
|
|
163
|
+
let codewhispererAutoTriggerType = undefined;
|
|
164
|
+
let triggerCharacters = '';
|
|
165
|
+
let autoTriggerResult = undefined;
|
|
166
|
+
if (isAutomaticLspTriggerKind) {
|
|
167
|
+
// Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
|
|
168
|
+
if (params.documentChangeParams?.contentChanges &&
|
|
169
|
+
params.documentChangeParams.contentChanges.length > 0 &&
|
|
170
|
+
params.documentChangeParams.contentChanges[0].text !== undefined) {
|
|
171
|
+
triggerCharacters = params.documentChangeParams.contentChanges[0].text;
|
|
172
|
+
codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
// if the client does not emit document change for the trigger, use left most character.
|
|
176
|
+
triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
|
|
177
|
+
codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
|
|
178
|
+
}
|
|
179
|
+
// See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
|
|
180
|
+
// In such cases, do not auto trigger.
|
|
181
|
+
if (codewhispererAutoTriggerType === undefined) {
|
|
182
|
+
return constants_1.EMPTY_RESULT;
|
|
183
|
+
}
|
|
184
|
+
autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
|
|
185
|
+
fileContext, // The left/right file context and programming language
|
|
186
|
+
lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
|
|
187
|
+
char: triggerCharacters, // Add the character just inserted, if any, before the invication position
|
|
188
|
+
ide: ideCategory ?? '',
|
|
189
|
+
os: (0, autoTrigger_1.getNormalizeOsName)(),
|
|
190
|
+
previousDecision: previousDecisionForClassifier, // The last decision by the user on the previous invocation
|
|
191
|
+
triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
|
|
192
|
+
}, this.logging);
|
|
193
|
+
if (codewhispererAutoTriggerType === 'Classifier' && !autoTriggerResult.shouldTrigger) {
|
|
194
|
+
return constants_1.EMPTY_RESULT;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
let requestContext = {
|
|
198
|
+
fileContext,
|
|
199
|
+
maxResults,
|
|
200
|
+
};
|
|
201
|
+
const codeWhispererService = this.amazonQServiceManager.getCodewhispererService();
|
|
202
|
+
const supplementalContext = await codeWhispererService.constructSupplementalContext(textDocument, params.position, this.workspace, this.recentEditTracker, this.logging, token, params.openTabFilepaths, { includeRecentEdits: false });
|
|
203
|
+
if (supplementalContext?.items) {
|
|
204
|
+
requestContext.supplementalContexts = supplementalContext.items;
|
|
205
|
+
}
|
|
206
|
+
// Close ACTIVE session and record Discard trigger decision immediately
|
|
207
|
+
const currentSession = this.completionSessionManager.getCurrentSession();
|
|
208
|
+
if (currentSession && currentSession.state === 'ACTIVE') {
|
|
209
|
+
// Emit user trigger decision at session close time for active session
|
|
210
|
+
// TODO: yuxqiang workaround to exclude JB from this logic because JB and VSC handle a
|
|
211
|
+
// bit differently in the case when there's a new trigger while a reject/discard event is sent
|
|
212
|
+
// for the previous trigger
|
|
213
|
+
if (ideCategory !== 'JETBRAINS') {
|
|
214
|
+
this.completionSessionManager.discardSession(currentSession);
|
|
215
|
+
const streakLength = this.getEditsEnabled() ? this.streakTracker.getAndUpdateStreakLength(false) : 0;
|
|
216
|
+
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(this.telemetry, this.telemetryService, currentSession, this.getTimeSinceLastUserModification(), 0, 0, [], [], streakLength);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const supplementalMetadata = supplementalContext?.supContextData;
|
|
220
|
+
const newSession = this.completionSessionManager.createSession({
|
|
221
|
+
document: textDocument,
|
|
222
|
+
startPreprocessTimestamp: startPreprocessTimestamp,
|
|
223
|
+
startPosition: params.position,
|
|
224
|
+
triggerType: isAutomaticLspTriggerKind ? 'AutoTrigger' : 'OnDemand',
|
|
225
|
+
language: fileContext.programmingLanguage.languageName,
|
|
226
|
+
requestContext: requestContext,
|
|
227
|
+
autoTriggerType: isAutomaticLspTriggerKind ? codewhispererAutoTriggerType : undefined,
|
|
228
|
+
triggerCharacter: triggerCharacters,
|
|
229
|
+
classifierResult: autoTriggerResult?.classifierResult,
|
|
230
|
+
classifierThreshold: autoTriggerResult?.classifierThreshold,
|
|
231
|
+
credentialStartUrl: this.credentialsProvider.getConnectionMetadata?.()?.sso?.startUrl ?? undefined,
|
|
232
|
+
supplementalMetadata: supplementalMetadata,
|
|
233
|
+
customizationArn: lsp_core_1.textUtils.undefinedIfEmpty(codeWhispererService.customizationArn),
|
|
234
|
+
});
|
|
235
|
+
// Add extra context to request context
|
|
236
|
+
const { extraContext } = this.amazonQServiceManager.getConfiguration().inlineSuggestions;
|
|
237
|
+
if (extraContext) {
|
|
238
|
+
requestContext.fileContext.leftFileContent =
|
|
239
|
+
extraContext + '\n' + requestContext.fileContext.leftFileContent;
|
|
240
|
+
}
|
|
241
|
+
// Create the appropriate request based on service type
|
|
242
|
+
let generateCompletionReq;
|
|
243
|
+
if (codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) {
|
|
244
|
+
const tokenRequest = requestContext;
|
|
245
|
+
generateCompletionReq = {
|
|
246
|
+
...tokenRequest,
|
|
247
|
+
...(workspaceId ? { workspaceId } : {}),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
const iamRequest = requestContext;
|
|
252
|
+
generateCompletionReq = {
|
|
253
|
+
...iamRequest,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
try {
|
|
257
|
+
const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
|
|
258
|
+
this.logging.debug(`[INLINE_COMPLETION] API call - generateSuggestions (new session, ${authType})`);
|
|
259
|
+
const suggestionResponse = await codeWhispererService.generateSuggestions(generateCompletionReq);
|
|
260
|
+
return await this.processSuggestionResponse(suggestionResponse, newSession, true, selectionRange);
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
return this.handleSuggestionsErrors(error, newSession);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
async processSuggestionResponse(suggestionResponse, session, isNewSession, selectionRange) {
|
|
267
|
+
this.codePercentageTracker.countInvocation(session.language);
|
|
268
|
+
this.userWrittenCodeTracker?.recordUsageCount(session.language);
|
|
269
|
+
session.includeImportsWithSuggestions =
|
|
270
|
+
this.amazonQServiceManager.getConfiguration().includeImportsWithSuggestions;
|
|
271
|
+
if (isNewSession) {
|
|
272
|
+
// Populate the session with information from codewhisperer response
|
|
273
|
+
session.suggestions = suggestionResponse.suggestions;
|
|
274
|
+
session.responseContext = suggestionResponse.responseContext;
|
|
275
|
+
session.codewhispererSessionId = suggestionResponse.responseContext.codewhispererSessionId;
|
|
276
|
+
session.setTimeToFirstRecommendation();
|
|
277
|
+
session.predictionType = codeWhispererService_1.SuggestionType.COMPLETION;
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
session.suggestions = [...session.suggestions, ...suggestionResponse.suggestions];
|
|
281
|
+
}
|
|
282
|
+
// Emit service invocation telemetry for every request sent to backend
|
|
283
|
+
(0, telemetry_1.emitServiceInvocationTelemetry)(this.telemetry, session, suggestionResponse.responseContext.requestId);
|
|
284
|
+
// Discard previous inflight API response due to new trigger
|
|
285
|
+
if (session.discardInflightSessionOnNewInvocation) {
|
|
286
|
+
session.discardInflightSessionOnNewInvocation = false;
|
|
287
|
+
this.completionSessionManager.discardSession(session);
|
|
288
|
+
const streakLength = this.getEditsEnabled() ? this.streakTracker.getAndUpdateStreakLength(false) : 0;
|
|
289
|
+
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(this.telemetry, this.telemetryService, session, this.getTimeSinceLastUserModification(), 0, 0, [], [], streakLength);
|
|
290
|
+
}
|
|
291
|
+
// session was closed by user already made decisions consequent completion request before new paginated API response was received
|
|
292
|
+
if (session.predictionType !== 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
|
|
293
|
+
(session.state === 'CLOSED' || session.state === 'DISCARD')) {
|
|
294
|
+
return constants_1.EMPTY_RESULT;
|
|
295
|
+
}
|
|
296
|
+
// API response was recieved, we can activate session now
|
|
297
|
+
this.completionSessionManager.activateSession(session);
|
|
298
|
+
// Process suggestions to apply Empty or Filter filters
|
|
299
|
+
const filteredSuggestions = suggestionResponse.suggestions
|
|
300
|
+
// Empty suggestion filter
|
|
301
|
+
.filter(suggestion => {
|
|
302
|
+
if (suggestion.content === '') {
|
|
303
|
+
session.setSuggestionState(suggestion.itemId, 'Empty');
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
return true;
|
|
307
|
+
})
|
|
308
|
+
// References setting filter
|
|
309
|
+
.filter(suggestion => {
|
|
310
|
+
// State to track whether code with references should be included in
|
|
311
|
+
// the response. No locking or concurrency controls, filtering is done
|
|
312
|
+
// right before returning and is only guaranteed to be consistent within
|
|
313
|
+
// the context of a single response.
|
|
314
|
+
const { includeSuggestionsWithCodeReferences } = this.amazonQServiceManager.getConfiguration();
|
|
315
|
+
if (includeSuggestionsWithCodeReferences) {
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
if (suggestion.references == null || suggestion.references.length === 0) {
|
|
319
|
+
return true;
|
|
320
|
+
}
|
|
321
|
+
// Filter out suggestions that have references when includeSuggestionsWithCodeReferences setting is true
|
|
322
|
+
session.setSuggestionState(suggestion.itemId, 'Filter');
|
|
323
|
+
return false;
|
|
324
|
+
});
|
|
325
|
+
const { includeImportsWithSuggestions } = this.amazonQServiceManager.getConfiguration();
|
|
326
|
+
const suggestionsWithRightContext = (0, mergeRightUtils_1.mergeSuggestionsWithRightContext)(session.requestContext.fileContext.rightFileContent, filteredSuggestions, includeImportsWithSuggestions, selectionRange).filter(suggestion => {
|
|
327
|
+
// Discard suggestions that have empty string insertText after right context merge and can't be displayed anymore
|
|
328
|
+
if (suggestion.insertText === '') {
|
|
329
|
+
session.setSuggestionState(suggestion.itemId, 'Discard');
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
return true;
|
|
333
|
+
});
|
|
334
|
+
suggestionsWithRightContext.forEach(suggestion => {
|
|
335
|
+
const cachedSuggestion = session.suggestions.find(s => s.itemId === suggestion.itemId);
|
|
336
|
+
if (cachedSuggestion)
|
|
337
|
+
cachedSuggestion.insertText = suggestion.insertText.toString();
|
|
338
|
+
});
|
|
339
|
+
// TODO: need dedupe after right context merging but I don't see one
|
|
340
|
+
session.suggestionsAfterRightContextMerge.push(...suggestionsWithRightContext);
|
|
341
|
+
session.codewhispererSuggestionImportCount =
|
|
342
|
+
session.codewhispererSuggestionImportCount +
|
|
343
|
+
suggestionsWithRightContext.reduce((total, suggestion) => {
|
|
344
|
+
return total + (suggestion.mostRelevantMissingImports?.length || 0);
|
|
345
|
+
}, 0);
|
|
346
|
+
// If after all server-side filtering no suggestions can be displayed, and there is no nextToken
|
|
347
|
+
// close session and return empty results
|
|
348
|
+
if (session.suggestionsAfterRightContextMerge.length === 0 && !suggestionResponse.responseContext.nextToken) {
|
|
349
|
+
this.completionSessionManager.closeSession(session);
|
|
350
|
+
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(this.telemetry, this.telemetryService, session, this.getTimeSinceLastUserModification());
|
|
351
|
+
return constants_1.EMPTY_RESULT;
|
|
352
|
+
}
|
|
353
|
+
return {
|
|
354
|
+
items: suggestionsWithRightContext,
|
|
355
|
+
sessionId: session.id,
|
|
356
|
+
partialResultToken: suggestionResponse.responseContext.nextToken,
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
handleSuggestionsErrors(error, session) {
|
|
360
|
+
this.logging.log('Recommendation failure: ' + error);
|
|
361
|
+
(0, telemetry_1.emitServiceInvocationFailure)(this.telemetry, session, error);
|
|
362
|
+
// UTDE telemetry is not needed here because in error cases we don't care about UTDE for errored out sessions
|
|
363
|
+
this.completionSessionManager.closeSession(session);
|
|
364
|
+
let translatedError = error;
|
|
365
|
+
if ((0, utils_2.hasConnectionExpired)(error)) {
|
|
366
|
+
translatedError = new errors_1.AmazonQServiceConnectionExpiredError((0, utils_1.getErrorMessage)(error));
|
|
367
|
+
}
|
|
368
|
+
if (translatedError instanceof errors_1.AmazonQError) {
|
|
369
|
+
throw new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, translatedError.message || 'Error processing suggestion requests', {
|
|
370
|
+
awsErrorCode: translatedError.code,
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
return constants_1.EMPTY_RESULT;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
exports.InlineCompletionHandler = InlineCompletionHandler;
|
|
377
|
+
//# sourceMappingURL=inlineCompletionHandler.js.map
|