@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":"chatTelemetryController.js","sourceRoot":"","sources":["../../../../src/language-server/chat/telemetry/chatTelemetryController.ts"],"names":[],"mappings":";;;AA4mBA,oEAmBC;AA7nBD,2DAQwC;AAExC,uDAK0B;AAC1B,2EAAmE;AAInE,6EAAkG;AAElG,iDAAmG;AAGtF,QAAA,0BAA0B,GAAG,yBAAyB,CAAA;AAiCnE,MAAa,uBAAuB;IAChC,YAAY,CAAS;IACrB,wBAAwB,CAA8C;IACtE,sBAAsB,GAAqC,EAAE,CAAA;IAC7D,mCAAmC,CAAsD;IACzF,oBAAoB,CAAqB;IACzC,UAAU,CAAW;IACrB,QAAQ,CAAS;IACjB,gBAAgB,CAA8C;IAC9D,iBAAiB,CAAkB;IAEnC,YAAY,QAAkB,EAAE,gBAAkC;QAC9D,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAA;QAClC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAA;QAChC,IAAI,CAAC,mCAAmC,GAAG,EAAE,CAAA;QAC7C,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,mBAAmB,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5F,IAAI,CAAC,gBAAgB,GAAG,IAAI,iCAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CACpG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAC/C,CAAA;QACD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC7C,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAED,IAAW,WAAW,CAAC,WAA+B;QAClD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACnC,CAAC;IAEM,iBAAiB,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAEM,iBAAiB,CAAC,KAAc;QACnC,OAAO,KAAK,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAA;IACxE,CAAC;IAEM,kBAAkB,CAAC,KAAa,EAAE,SAAiB;QACtD,OAAO,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7F,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC;IAEM,iBAAiB,CAAC,KAAa,EAAE,cAAsB;QAC1D,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;IACrD,CAAC;IAEM,iBAAiB,CAAC,KAAa,EAAE,IAAsC;QAC1E,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;IAC/F,CAAC;IAEM,qBAAqB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IACnE,CAAC;IAED,mDAAmD;IACnD,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAEM,oBAAoB,CAAC,KAAkC,EAAE,UAAkB;QAC9E,OAAO,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC;YACxD,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,sBAAsB,EAAE,UAAU;YAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SAC3C,CAAC,CAAA;IACN,CAAC;IAEM,cAAc,CACjB,MAA4D;QAE5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,GAAG,MAAM;YACT,IAAI,EAAE;gBACF,GAAG,MAAM,CAAC,IAAI;gBACd,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,MAAM,EAAE,WAAW;aACtB;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,sBAAsB,CAIzB,MAEC,EACD,KAAK,GAAG,IAAI,CAAC,WAAW;QAExB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBACvB,GAAG,MAAM;gBACT,IAAI,EAAE;oBACF,GAAG,MAAM,CAAC,IAAI;oBACd,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;oBACpF,CAAC,kCAA0B,CAAC,EAAE,cAAc;oBAC5C,MAAM,EAAE,WAAW;iBACtB;aACJ,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAEM,cAAc;QACjB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,UAAU;YACvC,IAAI,EAAE;gBACF,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,MAAM,EAAE,WAAW;aACtB;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,0BAA0B,CAC7B,SAAiB,EACjB,cAAsB,EACtB,gBAAwB,EACxB,SAA+B,EAC/B,SAA+B,EAC/B,MAAc,EACd,qBAA6B,EAC7B,OAA2B,EAC3B,OAAgB,EAChB,eAA0B,EAC1B,yBAAkC,EAClC,0BAAqC,EACrC,iBAA2B,EAC3B,cAAuB,EACvB,aAAsB;QAEtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,sBAAsB;YACnD,IAAI,EAAE;gBACF,CAAC,kCAA0B,CAAC,EAAE,cAAc;gBAC5C,yBAAyB,EAAE,gBAAgB;gBAC3C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACzC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC1C,MAAM;gBACN,qBAAqB,EAAE,qBAAqB;gBAC5C,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC;gBAC3C,yBAAyB,EAAE,yBAAyB;gBACpD,0BAA0B,EAAE,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC;gBACjE,SAAS;gBACT,OAAO,EAAE,iBAAiB;gBAC1B,OAAO;gBACP,cAAc,EAAE,cAAc;gBAC9B,aAAa,EAAE,aAAa;aAC/B;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,kBAAkB,CAAC,IAA8B,EAAE,UAAkB,EAAE,qBAA6B;QACvG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,cAAc;YAC3C,IAAI,EAAE;gBACF,IAAI;gBACJ,UAAU;gBACV,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,qBAAqB,EAAE,qBAAqB;aAC/C;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,gBAAgB,CAAC,UAAkB,EAAE,qBAA6B;QACrE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,YAAY;YACzC,IAAI,EAAE;gBACF,UAAU;gBACV,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,qBAAqB,EAAE,qBAAqB;aAC/C;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,oBAAoB,CACvB,OAAgB,EAChB,cAAsB,EACtB,qBAA6B,EAC7B,OAAgB,EAChB,iBAA2B,EAC3B,cAAuB,EACvB,aAAsB,EACtB,MAAe;QAEf,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,gBAAgB;YAC7C,IAAI,EAAE;gBACF,CAAC,kCAA0B,CAAC,EAAE,cAAc;gBAC5C,yBAAyB,EAAE,wBAAwB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,aAAa,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACjC,cAAc,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;gBACvC,cAAc,EAAE,OAAO;gBACvB,MAAM,EAAE,MAAM;gBACd,qBAAqB,EAAE,qBAAqB;gBAC5C,OAAO,EAAE,iBAAiB;gBAC1B,cAAc,EAAE,cAAc;gBAC9B,aAAa,EAAE,aAAa;aAC/B;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,2BAA2B,CAC9B,eAA2C,EAC3C,KAAa,EACb,iBAA2B,EAC3B,gBAAyB,EACzB,cAAuB,EACvB,aAAsB;QAEtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,uBAAuB;YACpD,IAAI,EAAE;gBACF,CAAC,kCAA0B,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE;gBACjE,yBAAyB,EAAE,gBAAgB;gBAC3C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,+BAA+B,EAAE,eAAe;gBAChD,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,cAAc,EAAE,cAAc;gBAC9B,aAAa,EAAE,aAAa;aAC/B;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,oBAAoB,CACvB,KAAa,EACb,MAA0C,EAC1C,MAAe,EACf,YAAqB,EACrB,SAAkB;QAElB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACpD,4DAA4D;QAC5D,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,6BAA6B,EAAE,CAAC;YACpE,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,GAAG;gBAC9C,GAAG,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC;gBAClD,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,6BAA6B;aACpE,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC5C;YACI,cAAc,EAAE,cAAc;YAC9B,SAAS,EAAE,MAAM,CAAC,kBAAkB;YACpC,gBAAgB,EAAE,MAAM,CAAC,6BAA6B;YACtD,UAAU,EAAE,MAAM,CAAC,mBAAmB;YACtC,cAAc,EAAE,MAAM,CAAC,uBAAuB;YAC9C,mBAAmB,EAAE,MAAM,CAAC,4BAAqD;YACjF,2BAA2B,EAAE,MAAM,CAAC,oCAAoC;YACxE,4BAA4B,EAAE,MAAM,CAAC,qBAAqB;YAC1D,iBAAiB,EAAE,MAAM,CAAC,0BAA0B;YACpD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B;YACxD,aAAa,EAAE,MAAM,CAAC,sBAAsB;YAC5C,cAAc,EAAE,MAAM,CAAC,uBAAuB;YAC9C,kBAAkB,EAAE,MAAM,CAAC,iCAAiC;YAC5D,iBAAiB,EAAE,MAAM,CAAC,OAAO;YACjC,MAAM,EAAE,MAAM;SACjB,EACD;YACI,sBAAsB,EAAE,MAAM,CAAC,2BAA2B;YAC1D,gBAAgB,EAAE,MAAM,CAAC,qBAAqB;YAC9C,mBAAmB,EAAE,MAAM,CAAC,wBAAwB;YACpD,mBAAmB,EAAE,MAAM,CAAC,wBAAwB;YACpD,iBAAiB,EAAE,MAAM,CAAC,sBAAsB;YAChD,oBAAoB,EAAE,MAAM,CAAC,yBAAyB;YACtD,2BAA2B,EAAE,MAAM,CAAC,gCAAgC;YACpE,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;YACvD,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;YAC/D,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;YAC3D,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;YAC3D,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;YAC/D,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,8BAA8B,EAAE,MAAM,CAAC,8BAA8B;YACrE,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;YACjE,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;YAC3D,+BAA+B,EAAE,MAAM,CAAC,+BAA+B;YACvE,+BAA+B,EAAE,MAAM,CAAC,+BAA+B;YACvE,+BAA+B,EAAE,MAAM,CAAC,+BAA+B;YACvE,iCAAiC,EAAE,MAAM,CAAC,iCAAiC;YAC3E,iCAAiC,EAAE,MAAM,CAAC,iCAAiC;YAC3E,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,SAAS;SACvB,CACJ,CAAA;IACL,CAAC;IAEM,kBAAkB,CAAC,IAOzB;QACG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,SAAS;YACtC,IAAI,EAAE;gBACF,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,qBAAqB,EAAE,IAAI,EAAE,qBAAqB;gBAClD,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;gBACxC,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;gBACxC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;gBAC1C,qBAAqB,EAAE,IAAI,EAAE,qBAAqB;gBAClD,cAAc,EAAE,IAAI,EAAE,cAAc;aACvC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,4BAA4B,CAAC,IAUnC;QACG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,aAAa;YAC1C,IAAI,EAAE;gBACF,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,GAAG,EAAE,IAAI,EAAE,GAAG;gBACd,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,cAAc,EAAE,IAAI,EAAE,cAAc;gBACpC,qBAAqB,EAAE,IAAI,EAAE,qBAAqB;gBAClD,QAAQ,EAAE,IAAI,EAAE,QAAQ;gBACxB,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,aAAa,EAAE,IAAI,EAAE,aAAa;aACrC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,2BAA2B,CAAC,KAAa,EAAE,MAA0C;QACxF,IAAI,CAAC,sBAAsB,CACvB;YACI,IAAI,EAAE,8BAAsB,CAAC,iBAAiB;YAC9C,IAAI,EAAE;gBACF,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;gBAC/D,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;gBACjE,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;aAC9D;SACJ,EACD,KAAK,CACR,CAAA;IACL,CAAC;IAEM,6BAA6B,CAChC,KAAa,EACb,MAAiE,EACjE,iBAA0B;QAE1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE;YAC9D,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC7C,iBAAiB;SACpB,CAAC,CAAA;IACN,CAAC;IAEM,wBAAwB,CAC3B,KAAa,EACb,MAA0C,EAC1C,SAAkB,EAClB,WAAoB,EACpB,iBAA2B;QAE3B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACvB,IAAI,EAAE,8BAAsB,CAAC,oBAAoB;YACjD,IAAI,EAAE;gBACF,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;gBACvD,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;gBAC/D,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;gBACjE,oCAAoC,EAAE,MAAM,CAAC,oCAAoC;gBACjF,gCAAgC,EAAE,MAAM,CAAC,gCAAgC;gBACzE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;gBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;gBACrD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;gBAC3D,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,IAAA,8BAAsB,EAAC,WAAW,CAAC;gBAC/C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ;gBACpF,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,CAAC,kCAA0B,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC3D,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;gBACnD,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,aAAa,EAAE,MAAM,CAAC,aAAa;aACtC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,oBAAoB,CAAC,MAAkD;QAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC;YACtE,OAAM;QACV,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAA,2CAAmC,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;QAE3F,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC1B,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC1D,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG;YAChC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,cAAc,EAAE,MAAM,CAAC,IAAI;YAC3B,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;YACzE,aAAa,EAAE,MAAM,CAAC,cAAc;YACpC,WAAW;SACd,CAAC,CAAA;IACN,CAAC;IAED,+IAA+I;IAC/I,wFAAwF;IACxF,gKAAgK;IAChK,qBAAqB,CAAC,MAAoC;QACtD,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;QAC5C,MAAM,qBAAqB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;QAErD,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,IAAI,qBAAqB,EAAE,CAAC;YACtD,MAAM,aAAa,GACf,UAAU,IAAI,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAA;YAC5G,MAAM,WAAW,GACb,UAAU,IAAI,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAA;YAE1G,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAC1B,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC1D,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;gBAChB,cAAc,EAAE,MAAM,CAAC,IAAI;gBAC3B,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;gBACzE,aAAa;gBACb,WAAW;aACd,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAe;QACxC,IAAI,CAAC;YACD,IAAI,IAAA,wCAAsB,EAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,iCAAe,CAAC,UAAU;wBAC3B,4EAA4E;wBAC5E,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAA;wBAC9D,MAAK;oBACT,KAAK,iCAAe,CAAC,MAAM;wBACvB,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;4BAC1C,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC9C,YAAY,EAAE;gCACV,WAAW,EAAE,MAAM,CAAC,WAAW;6BAClC;yBACJ,CAAA;wBACD,MAAK;oBACT,KAAK,iCAAe,CAAC,cAAc;wBAC/B,IAAI,CAAC,cAAc,CAAC;4BAChB,IAAI,EAAE,8BAAsB,CAAC,cAAc;4BAC3C,IAAI,EAAE,EAAE;yBACX,CAAC,CAAA;wBACF,MAAK;oBACT,KAAK,iCAAe,CAAC,aAAa;wBAC9B,IAAI,CAAC,cAAc,CAAC;4BAChB,IAAI,EAAE,8BAAsB,CAAC,aAAa;4BAC1C,IAAI,EAAE,EAAE;yBACX,CAAC,CAAA;wBACF,MAAK;oBACT,KAAK,iCAAe,CAAC,IAAI;wBACrB,MAAM,QAAQ,GAA8D;4BACxE,kBAAkB,EAAE,MAAM,CAAC,SAAS;4BACpC,wBAAwB,EACpB,MAAM,CAAC,IAAI,KAAK,mCAAiB,CAAC,EAAE;gCAChC,CAAC,CAAC,2BAAmB,CAAC,MAAM;gCAC5B,CAAC,CAAC,2BAAmB,CAAC,QAAQ;4BACtC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;yBACzF,CAAA;wBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,QAAQ,EAAE;4BAC/D,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;yBACvD,CAAC,CAAA;wBACF,MAAK;oBACT,KAAK,iCAAe,CAAC,sBAAsB,CAAC;oBAC5C,KAAK,iCAAe,CAAC,eAAe;wBAChC,IAAI,MAAM,CAAC,IAAI,KAAK,iCAAe,CAAC,sBAAsB,EAAE,CAAC;4BACzD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;wBACtC,CAAC;wBAED,MAAM,YAAY,GAA8D;4BAC5E,kBAAkB,EAAE,MAAM,CAAC,SAAS;4BACpC,wBAAwB,EACpB,MAAM,CAAC,IAAI,KAAK,iCAAe,CAAC,sBAAsB;gCAClD,CAAC,CAAC,2BAAmB,CAAC,cAAc;gCACpC,CAAC,CAAC,2BAAmB,CAAC,WAAW;4BACzC,iCAAiC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;4BAC3D,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC;4BAC1E,uBAAuB,EAAE,MAAM,CAAC,cAAc;4BAC9C,wBAAwB,EAAE,MAAM,CAAC,eAAe;4BAChD,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;yBACzF,CAAA;wBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,YAAY,EAAE;4BACnE,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;4BACpD,iBAAiB,EACb,MAAM,CAAC,IAAI,KAAK,iCAAe,CAAC,sBAAsB;gCAClD,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gCACjC,CAAC,CAAC,SAAS;yBACtB,CAAC,CAAA;wBACF,MAAK;oBACT,KAAK,iCAAe,CAAC,SAAS,CAAC;oBAC/B,KAAK,iCAAe,CAAC,aAAa;wBAC9B,MAAM,iBAAiB,GAA8D;4BACjF,kBAAkB,EAAE,MAAM,CAAC,SAAS;4BACpC,wBAAwB,EAAE,2BAAmB,CAAC,aAAa;4BAC3D,0BAA0B,EAAE,MAAM,CAAC,IAAI;4BACvC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;yBACzF,CAAA;wBACD,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;wBACzE,MAAK;oBACT,KAAK,iCAAe,CAAC,eAAe;wBAChC,MAAM,aAAa,GAA8D;4BAC7E,kBAAkB,EAAE,MAAM,CAAC,SAAS;4BACpC,wBAAwB,EAAE,2BAAmB,CAAC,SAAS;4BACvD,0BAA0B,EAAE,MAAM,CAAC,IAAI;4BACvC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;yBACzF,CAAA;wBACD,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;wBACrE,MAAK;oBACT,KAAK,iCAAe,CAAC,kBAAkB;wBACnC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC,CAAA;wBAC7E,MAAK;gBACb,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAA;QAC9E,CAAC;IACL,CAAC;IAEM,OAAO;QACV,mEAAmE;QACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACpC,CAAC;CACJ;AA9iBD,0DA8iBC;AAED,SAAgB,4BAA4B,CAAC,UAAuB;IAChE,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,oCAAU,CAAC,sBAAsB;YAClC,OAAO,sBAAsB,CAAA;QACjC,KAAK,oCAAU,CAAC,gCAAgC;YAC5C,OAAO,gCAAgC,CAAA;QAC3C,KAAK,oCAAU,CAAC,2BAA2B;YACvC,OAAO,0BAA0B,CAAA;QACrC,KAAK,oCAAU,CAAC,YAAY;YACxB,OAAO,aAAa,CAAA;QACxB,KAAK,oCAAU,CAAC,YAAY;YACxB,OAAO,aAAa,CAAA;QACxB,KAAK,oCAAU,CAAC,oBAAoB;YAChC,OAAO,mBAAmB,CAAA;QAC9B,KAAK,oCAAU,CAAC,aAAa;YACzB,OAAO,cAAc,CAAA;QACzB;YACI,OAAO,EAAE,CAAA;IACjB,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"chatTelemetryController.js","sourceRoot":"","sources":["../../../../src/language-server/chat/telemetry/chatTelemetryController.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,3 @@ export declare const CodewhispererServerFactory: (serviceManager: (credentialsPr
|
|
|
4
4
|
export declare const CodeWhispererServer: Server;
|
|
5
5
|
export declare const CodeWhispererServerIAM: Server;
|
|
6
6
|
export declare const CodeWhispererServerToken: Server;
|
|
7
|
-
export declare const getLanguageIdFromUri: (uri: string, logging?: any) => string;
|
|
@@ -1,65 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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");
|
|
3
|
+
exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodeWhispererServer = exports.CodewhispererServerFactory = void 0;
|
|
7
4
|
const languageDetection_1 = require("../../shared/languageDetection");
|
|
8
|
-
const mergeRightUtils_1 = require("./mergeRightUtils");
|
|
9
5
|
const sessionManager_1 = require("./session/sessionManager");
|
|
10
|
-
const
|
|
6
|
+
const codePercentageTracker_1 = require("./tracker/codePercentageTracker");
|
|
11
7
|
const utils_1 = require("../../shared/utils");
|
|
12
8
|
const telemetryUtils_1 = require("../../shared/telemetryUtils");
|
|
13
|
-
const lsp_core_1 = require("@aws/lsp-core");
|
|
14
9
|
const telemetryService_1 = require("../../shared/telemetry/telemetryService");
|
|
15
|
-
const codeDiffTracker_1 = require("./codeDiffTracker");
|
|
10
|
+
const codeDiffTracker_1 = require("./tracker/codeDiffTracker");
|
|
16
11
|
const errors_1 = require("../../shared/amazonQServiceManager/errors");
|
|
17
12
|
const AmazonQTokenServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQTokenServiceManager");
|
|
18
|
-
const utils_2 = require("../../shared/utils");
|
|
19
13
|
const AmazonQIAMServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQIAMServiceManager");
|
|
20
|
-
const workspaceFolderManager_1 = require("../workspaceContext/workspaceFolderManager");
|
|
21
14
|
const userWrittenCodeTracker_1 = require("../../shared/userWrittenCodeTracker");
|
|
22
15
|
const codeEditTracker_1 = require("./tracker/codeEditTracker");
|
|
23
16
|
const cursorTracker_1 = require("./tracker/cursorTracker");
|
|
24
17
|
const rejectedEditTracker_1 = require("./tracker/rejectedEditTracker");
|
|
25
18
|
const streakTracker_1 = require("./tracker/streakTracker");
|
|
26
|
-
const diffUtils_1 = require("./diffUtils");
|
|
27
|
-
const telemetry_1 = require("./telemetry");
|
|
28
19
|
const documentChangedListener_1 = require("./documentChangedListener");
|
|
29
|
-
const editCompletionHandler_1 = require("./editCompletionHandler");
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const utils_3 = require("../../shared/utils");
|
|
34
|
-
const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, includeImportsWithSuggestions, range) => {
|
|
35
|
-
return suggestions.map(suggestion => {
|
|
36
|
-
const insertText = (0, mergeRightUtils_1.truncateOverlapWithRightContext)(rightFileContext, suggestion.content);
|
|
37
|
-
let references = suggestion.references
|
|
38
|
-
?.filter(ref => !(ref.recommendationContentSpan?.start && insertText.length <= ref.recommendationContentSpan.start) && insertText.length)
|
|
39
|
-
.map(r => {
|
|
40
|
-
return {
|
|
41
|
-
licenseName: r.licenseName,
|
|
42
|
-
referenceUrl: r.url,
|
|
43
|
-
referenceName: r.repository,
|
|
44
|
-
position: r.recommendationContentSpan && {
|
|
45
|
-
startCharacter: r.recommendationContentSpan.start,
|
|
46
|
-
endCharacter: r.recommendationContentSpan.end
|
|
47
|
-
? Math.min(r.recommendationContentSpan.end, insertText.length - 1)
|
|
48
|
-
: r.recommendationContentSpan.end,
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
return {
|
|
53
|
-
itemId: suggestion.itemId,
|
|
54
|
-
insertText: insertText,
|
|
55
|
-
range,
|
|
56
|
-
references: references?.length ? references : undefined,
|
|
57
|
-
mostRelevantMissingImports: includeImportsWithSuggestions
|
|
58
|
-
? suggestion.mostRelevantMissingImports
|
|
59
|
-
: undefined,
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
};
|
|
20
|
+
const editCompletionHandler_1 = require("./handler/editCompletionHandler");
|
|
21
|
+
const inlineCompletionHandler_1 = require("./handler/inlineCompletionHandler");
|
|
22
|
+
const sessionResultsHandler_1 = require("./handler/sessionResultsHandler");
|
|
23
|
+
const utils_2 = require("../../shared/utils");
|
|
63
24
|
const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, lsp, workspace, telemetry, logging, runtime, sdkInitializator }) => {
|
|
64
25
|
let lastUserModificationTime;
|
|
65
26
|
let timeSinceLastUserModification = 0;
|
|
@@ -78,418 +39,18 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
78
39
|
let userWrittenCodeTracker;
|
|
79
40
|
let codeDiffTracker;
|
|
80
41
|
let editCompletionHandler;
|
|
42
|
+
let inlineCompletionHandler;
|
|
81
43
|
// Trackers for monitoring edits and cursor position.
|
|
82
44
|
const recentEditTracker = codeEditTracker_1.RecentEditTracker.getInstance(logging, codeEditTracker_1.RecentEditTrackerDefaultConfig);
|
|
83
45
|
const cursorTracker = cursorTracker_1.CursorTracker.getInstance();
|
|
84
46
|
const rejectedEditTracker = rejectedEditTracker_1.RejectedEditTracker.getInstance(logging, rejectedEditTracker_1.DEFAULT_REJECTED_EDIT_TRACKER_CONFIG);
|
|
85
47
|
const streakTracker = streakTracker_1.StreakTracker.getInstance();
|
|
86
48
|
let editsEnabled = false;
|
|
87
|
-
let isOnInlineCompletionHandlerInProgress = false;
|
|
88
49
|
const documentChangedListener = new documentChangedListener_1.DocumentChangedListener();
|
|
89
50
|
const onInlineCompletionHandler = async (params, token) => {
|
|
90
|
-
|
|
91
|
-
// 1. it would create a high volume of traffic, causing throttling
|
|
92
|
-
// 2. it is not designed to handle concurrent changes to these state variables.
|
|
93
|
-
// when one handler is at the API call stage, it has not yet update the session state
|
|
94
|
-
// but another request can start, causing the state to be incorrect.
|
|
95
|
-
IdleWorkspaceManager_1.IdleWorkspaceManager.recordActivityTimestamp();
|
|
96
|
-
if (isOnInlineCompletionHandlerInProgress) {
|
|
97
|
-
logging.log(`Skip concurrent inline completion`);
|
|
98
|
-
return constants_1.EMPTY_RESULT;
|
|
99
|
-
}
|
|
100
|
-
// Add this check to ensure service manager is initialized
|
|
101
|
-
if (!amazonQServiceManager) {
|
|
102
|
-
logging.log('Amazon Q Service Manager not initialized yet');
|
|
103
|
-
return constants_1.EMPTY_RESULT;
|
|
104
|
-
}
|
|
105
|
-
isOnInlineCompletionHandlerInProgress = true;
|
|
106
|
-
try {
|
|
107
|
-
// On every new completion request close current inflight session.
|
|
108
|
-
const currentSession = completionSessionManager.getCurrentSession();
|
|
109
|
-
if (currentSession && currentSession.state == 'REQUESTING' && !params.partialResultToken) {
|
|
110
|
-
// this REQUESTING state only happens when the session is initialized, which is rare
|
|
111
|
-
currentSession.discardInflightSessionOnNewInvocation = true;
|
|
112
|
-
}
|
|
113
|
-
if (cursorTracker) {
|
|
114
|
-
cursorTracker.trackPosition(params.textDocument.uri, params.position);
|
|
115
|
-
}
|
|
116
|
-
const textDocument = await getTextDocument(params.textDocument.uri, workspace, logging);
|
|
117
|
-
const codeWhispererService = amazonQServiceManager.getCodewhispererService();
|
|
118
|
-
const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
|
|
119
|
-
logging.debug(`[INLINE_COMPLETION] Service ready - auth: ${authType}, partial token: ${!!params.partialResultToken}`);
|
|
120
|
-
if (params.partialResultToken && currentSession) {
|
|
121
|
-
// subsequent paginated requests for current session
|
|
122
|
-
try {
|
|
123
|
-
const suggestionResponse = await codeWhispererService.generateSuggestions({
|
|
124
|
-
...currentSession.requestContext,
|
|
125
|
-
fileContext: {
|
|
126
|
-
...currentSession.requestContext.fileContext,
|
|
127
|
-
},
|
|
128
|
-
nextToken: `${params.partialResultToken}`,
|
|
129
|
-
});
|
|
130
|
-
return await processSuggestionResponse(suggestionResponse, currentSession, false, params.context.selectedCompletionInfo?.range);
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
return handleSuggestionsErrors(error, currentSession);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
// request for new session
|
|
138
|
-
if (!textDocument) {
|
|
139
|
-
logging.log(`textDocument [${params.textDocument.uri}] not found`);
|
|
140
|
-
return constants_1.EMPTY_RESULT;
|
|
141
|
-
}
|
|
142
|
-
let inferredLanguageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
|
|
143
|
-
if (params.fileContextOverride?.programmingLanguage) {
|
|
144
|
-
inferredLanguageId = params.fileContextOverride?.programmingLanguage;
|
|
145
|
-
}
|
|
146
|
-
if (!inferredLanguageId) {
|
|
147
|
-
logging.log(`textDocument [${params.textDocument.uri}] with languageId [${textDocument.languageId}] not supported`);
|
|
148
|
-
return constants_1.EMPTY_RESULT;
|
|
149
|
-
}
|
|
150
|
-
// Build request context
|
|
151
|
-
const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
|
|
152
|
-
const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
|
|
153
|
-
const selectionRange = params.context.selectedCompletionInfo?.range;
|
|
154
|
-
const startPreprocessTimestamp = Date.now();
|
|
155
|
-
// For Jupyter Notebook in VSC, the language server does not have access to
|
|
156
|
-
// its internal states including current active cell index, etc
|
|
157
|
-
// we rely on VSC to calculate file context
|
|
158
|
-
let fileContext = undefined;
|
|
159
|
-
if (params.fileContextOverride) {
|
|
160
|
-
fileContext = {
|
|
161
|
-
leftFileContent: params.fileContextOverride.leftFileContent,
|
|
162
|
-
rightFileContent: params.fileContextOverride.rightFileContent,
|
|
163
|
-
filename: params.fileContextOverride.filename,
|
|
164
|
-
fileUri: params.fileContextOverride.fileUri,
|
|
165
|
-
programmingLanguage: {
|
|
166
|
-
languageName: inferredLanguageId,
|
|
167
|
-
},
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
fileContext = (0, codeWhispererService_1.getFileContext)({
|
|
172
|
-
textDocument,
|
|
173
|
-
inferredLanguageId,
|
|
174
|
-
position: params.position,
|
|
175
|
-
workspaceFolder: workspace.getWorkspaceFolder(textDocument.uri),
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
const workspaceState = workspaceFolderManager_1.WorkspaceFolderManager.getInstance()?.getWorkspaceState();
|
|
179
|
-
const workspaceId = workspaceState?.webSocketClient?.isConnected()
|
|
180
|
-
? workspaceState.workspaceId
|
|
181
|
-
: undefined;
|
|
182
|
-
const previousSession = completionSessionManager.getPreviousSession();
|
|
183
|
-
// Only refer to decisions in the past 2 mins
|
|
184
|
-
const previousDecisionForClassifier = previousSession && Date.now() - previousSession.decisionMadeTimestamp <= 2 * 60 * 1000
|
|
185
|
-
? previousSession.getAggregatedUserTriggerDecision()
|
|
186
|
-
: undefined;
|
|
187
|
-
let ideCategory = '';
|
|
188
|
-
const initializeParams = lsp.getClientInitializeParams();
|
|
189
|
-
if (initializeParams !== undefined) {
|
|
190
|
-
ideCategory = (0, telemetryUtils_1.getIdeCategory)(initializeParams);
|
|
191
|
-
}
|
|
192
|
-
// auto trigger code path
|
|
193
|
-
let codewhispererAutoTriggerType = undefined;
|
|
194
|
-
let triggerCharacters = '';
|
|
195
|
-
let autoTriggerResult = undefined;
|
|
196
|
-
if (isAutomaticLspTriggerKind) {
|
|
197
|
-
// Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
|
|
198
|
-
if (params.documentChangeParams?.contentChanges &&
|
|
199
|
-
params.documentChangeParams.contentChanges.length > 0 &&
|
|
200
|
-
params.documentChangeParams.contentChanges[0].text !== undefined) {
|
|
201
|
-
triggerCharacters = params.documentChangeParams.contentChanges[0].text;
|
|
202
|
-
codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
// if the client does not emit document change for the trigger, use left most character.
|
|
206
|
-
triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
|
|
207
|
-
codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
|
|
208
|
-
}
|
|
209
|
-
// See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
|
|
210
|
-
// In such cases, do not auto trigger.
|
|
211
|
-
if (codewhispererAutoTriggerType === undefined) {
|
|
212
|
-
return constants_1.EMPTY_RESULT;
|
|
213
|
-
}
|
|
214
|
-
autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
|
|
215
|
-
fileContext, // The left/right file context and programming language
|
|
216
|
-
lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
|
|
217
|
-
char: triggerCharacters, // Add the character just inserted, if any, before the invication position
|
|
218
|
-
ide: ideCategory ?? '',
|
|
219
|
-
os: (0, autoTrigger_1.getNormalizeOsName)(),
|
|
220
|
-
previousDecision: previousDecisionForClassifier, // The last decision by the user on the previous invocation
|
|
221
|
-
triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
|
|
222
|
-
}, logging);
|
|
223
|
-
if (codewhispererAutoTriggerType === 'Classifier' && !autoTriggerResult.shouldTrigger) {
|
|
224
|
-
return constants_1.EMPTY_RESULT;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
let requestContext = {
|
|
228
|
-
fileContext,
|
|
229
|
-
maxResults,
|
|
230
|
-
};
|
|
231
|
-
const supplementalContext = await codeWhispererService.constructSupplementalContext(textDocument, params.position, workspace, recentEditTracker, logging, token, params.openTabFilepaths, { includeRecentEdits: false });
|
|
232
|
-
if (supplementalContext?.items) {
|
|
233
|
-
requestContext.supplementalContexts = supplementalContext.items;
|
|
234
|
-
}
|
|
235
|
-
// Close ACTIVE session and record Discard trigger decision immediately
|
|
236
|
-
if (currentSession && currentSession.state === 'ACTIVE') {
|
|
237
|
-
// Emit user trigger decision at session close time for active session
|
|
238
|
-
// TODO: yuxqiang workaround to exclude JB from this logic because JB and VSC handle a
|
|
239
|
-
// bit differently in the case when there's a new trigger while a reject/discard event is sent
|
|
240
|
-
// for the previous trigger
|
|
241
|
-
if (ideCategory !== 'JETBRAINS') {
|
|
242
|
-
completionSessionManager.discardSession(currentSession);
|
|
243
|
-
const streakLength = editsEnabled ? streakTracker.getAndUpdateStreakLength(false) : 0;
|
|
244
|
-
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, currentSession, timeSinceLastUserModification, 0, 0, [], [], streakLength);
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
const supplementalMetadata = supplementalContext?.supContextData;
|
|
248
|
-
const newSession = completionSessionManager.createSession({
|
|
249
|
-
document: textDocument,
|
|
250
|
-
startPreprocessTimestamp: startPreprocessTimestamp,
|
|
251
|
-
startPosition: params.position,
|
|
252
|
-
triggerType: isAutomaticLspTriggerKind ? 'AutoTrigger' : 'OnDemand',
|
|
253
|
-
language: fileContext.programmingLanguage.languageName,
|
|
254
|
-
requestContext: requestContext,
|
|
255
|
-
autoTriggerType: isAutomaticLspTriggerKind ? codewhispererAutoTriggerType : undefined,
|
|
256
|
-
triggerCharacter: triggerCharacters,
|
|
257
|
-
classifierResult: autoTriggerResult?.classifierResult,
|
|
258
|
-
classifierThreshold: autoTriggerResult?.classifierThreshold,
|
|
259
|
-
credentialStartUrl: credentialsProvider.getConnectionMetadata?.()?.sso?.startUrl ?? undefined,
|
|
260
|
-
supplementalMetadata: supplementalMetadata,
|
|
261
|
-
customizationArn: lsp_core_1.textUtils.undefinedIfEmpty(codeWhispererService.customizationArn),
|
|
262
|
-
});
|
|
263
|
-
// Add extra context to request context
|
|
264
|
-
const { extraContext } = amazonQServiceManager.getConfiguration().inlineSuggestions;
|
|
265
|
-
if (extraContext) {
|
|
266
|
-
requestContext.fileContext.leftFileContent =
|
|
267
|
-
extraContext + '\n' + requestContext.fileContext.leftFileContent;
|
|
268
|
-
}
|
|
269
|
-
// Create the appropriate request based on service type
|
|
270
|
-
let generateCompletionReq;
|
|
271
|
-
if (codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) {
|
|
272
|
-
const tokenRequest = requestContext;
|
|
273
|
-
generateCompletionReq = {
|
|
274
|
-
...tokenRequest,
|
|
275
|
-
...(workspaceId ? { workspaceId } : {}),
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
const iamRequest = requestContext;
|
|
280
|
-
generateCompletionReq = {
|
|
281
|
-
...iamRequest,
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
try {
|
|
285
|
-
const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
|
|
286
|
-
logging.debug(`[INLINE_COMPLETION] API call - generateSuggestions (new session, ${authType})`);
|
|
287
|
-
const suggestionResponse = await codeWhispererService.generateSuggestions(generateCompletionReq);
|
|
288
|
-
return await processSuggestionResponse(suggestionResponse, newSession, true, selectionRange);
|
|
289
|
-
}
|
|
290
|
-
catch (error) {
|
|
291
|
-
return handleSuggestionsErrors(error, newSession);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
finally {
|
|
296
|
-
isOnInlineCompletionHandlerInProgress = false;
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
const processSuggestionResponse = async (suggestionResponse, session, isNewSession, selectionRange, textDocument) => {
|
|
300
|
-
codePercentageTracker.countInvocation(session.language);
|
|
301
|
-
userWrittenCodeTracker?.recordUsageCount(session.language);
|
|
302
|
-
session.includeImportsWithSuggestions =
|
|
303
|
-
amazonQServiceManager.getConfiguration().includeImportsWithSuggestions;
|
|
304
|
-
if (isNewSession) {
|
|
305
|
-
// Populate the session with information from codewhisperer response
|
|
306
|
-
session.suggestions = suggestionResponse.suggestions;
|
|
307
|
-
session.responseContext = suggestionResponse.responseContext;
|
|
308
|
-
session.codewhispererSessionId = suggestionResponse.responseContext.codewhispererSessionId;
|
|
309
|
-
session.setTimeToFirstRecommendation();
|
|
310
|
-
session.predictionType = codeWhispererService_1.SuggestionType.COMPLETION;
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
session.suggestions = [...session.suggestions, ...suggestionResponse.suggestions];
|
|
314
|
-
}
|
|
315
|
-
// Emit service invocation telemetry for every request sent to backend
|
|
316
|
-
(0, telemetry_1.emitServiceInvocationTelemetry)(telemetry, session, suggestionResponse.responseContext.requestId);
|
|
317
|
-
// Discard previous inflight API response due to new trigger
|
|
318
|
-
if (session.discardInflightSessionOnNewInvocation) {
|
|
319
|
-
session.discardInflightSessionOnNewInvocation = false;
|
|
320
|
-
completionSessionManager.discardSession(session);
|
|
321
|
-
const streakLength = editsEnabled ? streakTracker.getAndUpdateStreakLength(false) : 0;
|
|
322
|
-
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, 0, 0, [], [], streakLength);
|
|
323
|
-
}
|
|
324
|
-
// session was closed by user already made decisions consequent completion request before new paginated API response was received
|
|
325
|
-
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
|
|
326
|
-
(session.state === 'CLOSED' || session.state === 'DISCARD')) {
|
|
327
|
-
return constants_1.EMPTY_RESULT;
|
|
328
|
-
}
|
|
329
|
-
// API response was recieved, we can activate session now
|
|
330
|
-
completionSessionManager.activateSession(session);
|
|
331
|
-
// Process suggestions to apply Empty or Filter filters
|
|
332
|
-
const filteredSuggestions = suggestionResponse.suggestions
|
|
333
|
-
// Empty suggestion filter
|
|
334
|
-
.filter(suggestion => {
|
|
335
|
-
if (suggestion.content === '') {
|
|
336
|
-
session.setSuggestionState(suggestion.itemId, 'Empty');
|
|
337
|
-
return false;
|
|
338
|
-
}
|
|
339
|
-
return true;
|
|
340
|
-
})
|
|
341
|
-
// References setting filter
|
|
342
|
-
.filter(suggestion => {
|
|
343
|
-
// State to track whether code with references should be included in
|
|
344
|
-
// the response. No locking or concurrency controls, filtering is done
|
|
345
|
-
// right before returning and is only guaranteed to be consistent within
|
|
346
|
-
// the context of a single response.
|
|
347
|
-
const { includeSuggestionsWithCodeReferences } = amazonQServiceManager.getConfiguration();
|
|
348
|
-
if (includeSuggestionsWithCodeReferences) {
|
|
349
|
-
return true;
|
|
350
|
-
}
|
|
351
|
-
if (suggestion.references == null || suggestion.references.length === 0) {
|
|
352
|
-
return true;
|
|
353
|
-
}
|
|
354
|
-
// Filter out suggestions that have references when includeSuggestionsWithCodeReferences setting is true
|
|
355
|
-
session.setSuggestionState(suggestion.itemId, 'Filter');
|
|
356
|
-
return false;
|
|
357
|
-
});
|
|
358
|
-
const { includeImportsWithSuggestions } = amazonQServiceManager.getConfiguration();
|
|
359
|
-
const suggestionsWithRightContext = mergeSuggestionsWithRightContext(session.requestContext.fileContext.rightFileContent, filteredSuggestions, includeImportsWithSuggestions, selectionRange).filter(suggestion => {
|
|
360
|
-
// Discard suggestions that have empty string insertText after right context merge and can't be displayed anymore
|
|
361
|
-
if (suggestion.insertText === '') {
|
|
362
|
-
session.setSuggestionState(suggestion.itemId, 'Discard');
|
|
363
|
-
return false;
|
|
364
|
-
}
|
|
365
|
-
return true;
|
|
366
|
-
});
|
|
367
|
-
suggestionsWithRightContext.forEach(suggestion => {
|
|
368
|
-
const cachedSuggestion = session.suggestions.find(s => s.itemId === suggestion.itemId);
|
|
369
|
-
if (cachedSuggestion)
|
|
370
|
-
cachedSuggestion.insertText = suggestion.insertText.toString();
|
|
371
|
-
});
|
|
372
|
-
// TODO: need dedupe after right context merging but I don't see one
|
|
373
|
-
session.suggestionsAfterRightContextMerge.push(...suggestionsWithRightContext);
|
|
374
|
-
session.codewhispererSuggestionImportCount =
|
|
375
|
-
session.codewhispererSuggestionImportCount +
|
|
376
|
-
suggestionsWithRightContext.reduce((total, suggestion) => {
|
|
377
|
-
return total + (suggestion.mostRelevantMissingImports?.length || 0);
|
|
378
|
-
}, 0);
|
|
379
|
-
// If after all server-side filtering no suggestions can be displayed, and there is no nextToken
|
|
380
|
-
// close session and return empty results
|
|
381
|
-
if (session.suggestionsAfterRightContextMerge.length === 0 &&
|
|
382
|
-
!suggestionResponse.responseContext.nextToken) {
|
|
383
|
-
completionSessionManager.closeSession(session);
|
|
384
|
-
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification);
|
|
385
|
-
return constants_1.EMPTY_RESULT;
|
|
386
|
-
}
|
|
387
|
-
return {
|
|
388
|
-
items: suggestionsWithRightContext,
|
|
389
|
-
sessionId: session.id,
|
|
390
|
-
partialResultToken: suggestionResponse.responseContext.nextToken,
|
|
391
|
-
};
|
|
392
|
-
};
|
|
393
|
-
const handleSuggestionsErrors = (error, session) => {
|
|
394
|
-
logging.log('Recommendation failure: ' + error);
|
|
395
|
-
(0, telemetry_1.emitServiceInvocationFailure)(telemetry, session, error);
|
|
396
|
-
// UTDE telemetry is not needed here because in error cases we don't care about UTDE for errored out sessions
|
|
397
|
-
completionSessionManager.closeSession(session);
|
|
398
|
-
let translatedError = error;
|
|
399
|
-
if ((0, utils_2.hasConnectionExpired)(error)) {
|
|
400
|
-
translatedError = new errors_1.AmazonQServiceConnectionExpiredError((0, utils_1.getErrorMessage)(error));
|
|
401
|
-
}
|
|
402
|
-
if (translatedError instanceof errors_1.AmazonQError) {
|
|
403
|
-
throw new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, translatedError.message || 'Error processing suggestion requests', {
|
|
404
|
-
awsErrorCode: translatedError.code,
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
return constants_1.EMPTY_RESULT;
|
|
408
|
-
};
|
|
409
|
-
// Schedule tracker for UserModification Telemetry event
|
|
410
|
-
const enqueueCodeDiffEntry = (session, acceptedSuggestion, addedCharactersForEdit) => {
|
|
411
|
-
const endPosition = (0, utils_1.getEndPositionForAcceptedSuggestion)(acceptedSuggestion.content, session.startPosition);
|
|
412
|
-
// use the addedCharactersForEdit if it is EDIT suggestion type
|
|
413
|
-
const originalString = addedCharactersForEdit ? addedCharactersForEdit : acceptedSuggestion.content;
|
|
414
|
-
codeDiffTracker.enqueue({
|
|
415
|
-
sessionId: session.codewhispererSessionId || '',
|
|
416
|
-
requestId: session.responseContext?.requestId || '',
|
|
417
|
-
fileUrl: session.document.uri,
|
|
418
|
-
languageId: session.language,
|
|
419
|
-
time: Date.now(),
|
|
420
|
-
originalString: originalString,
|
|
421
|
-
startPosition: session.startPosition,
|
|
422
|
-
endPosition: endPosition,
|
|
423
|
-
customizationArn: session.customizationArn,
|
|
424
|
-
completionType: (0, utils_1.getCompletionType)(acceptedSuggestion),
|
|
425
|
-
triggerType: session.triggerType,
|
|
426
|
-
credentialStartUrl: session.credentialStartUrl,
|
|
427
|
-
});
|
|
428
|
-
};
|
|
429
|
-
const onLogInlineCompletionSessionResultsHandler = async (params) => {
|
|
430
|
-
const { sessionId, completionSessionResult, firstCompletionDisplayLatency, totalSessionDisplayTime, typeaheadLength, isInlineEdit, addedDiagnostics, removedDiagnostics, } = params;
|
|
431
|
-
const sessionManager = params.isInlineEdit ? editSessionManager : completionSessionManager;
|
|
432
|
-
const session = sessionManager.getSessionById(sessionId);
|
|
433
|
-
if (!session) {
|
|
434
|
-
logging.log(`ERROR: Session ID ${sessionId} was not found`);
|
|
435
|
-
return;
|
|
436
|
-
}
|
|
437
|
-
if (session.state !== 'ACTIVE') {
|
|
438
|
-
logging.log(`ERROR: Trying to record trigger decision for not-active session ${sessionId} with wrong state ${session.state}`);
|
|
439
|
-
return;
|
|
440
|
-
}
|
|
441
|
-
const acceptedItemId = Object.keys(params.completionSessionResult).find(k => params.completionSessionResult[k].accepted);
|
|
442
|
-
const isAccepted = acceptedItemId ? true : false;
|
|
443
|
-
const acceptedSuggestion = session.suggestions.find(s => s.itemId === acceptedItemId);
|
|
444
|
-
let addedLengthForEdits = 0;
|
|
445
|
-
let deletedLengthForEdits = 0;
|
|
446
|
-
if (acceptedSuggestion) {
|
|
447
|
-
codePercentageTracker.countSuccess(session.language);
|
|
448
|
-
if (session.predictionType === codeWhispererService_1.SuggestionType.EDIT && acceptedSuggestion.content) {
|
|
449
|
-
// [acceptedSuggestion.insertText] will be undefined for NEP suggestion. Use [acceptedSuggestion.content] instead.
|
|
450
|
-
// Since [acceptedSuggestion.content] is in the form of a diff, transform the content into addedCharacters and deletedCharacters.
|
|
451
|
-
const { addedLines, deletedLines } = (0, diffUtils_1.getAddedAndDeletedLines)(acceptedSuggestion.content);
|
|
452
|
-
const charDiffResult = (0, diffUtils_1.getCharacterDifferences)(addedLines, deletedLines);
|
|
453
|
-
addedLengthForEdits = charDiffResult.charactersAdded;
|
|
454
|
-
deletedLengthForEdits = charDiffResult.charactersRemoved;
|
|
455
|
-
codePercentageTracker.countAcceptedTokensUsingCount(session.language, charDiffResult.charactersAdded);
|
|
456
|
-
codePercentageTracker.addTotalTokensForEdits(session.language, charDiffResult.charactersAdded);
|
|
457
|
-
enqueueCodeDiffEntry(session, acceptedSuggestion, addedLines.join('\n'));
|
|
458
|
-
}
|
|
459
|
-
else if (acceptedSuggestion.insertText) {
|
|
460
|
-
codePercentageTracker.countAcceptedTokens(session.language, acceptedSuggestion.insertText);
|
|
461
|
-
codePercentageTracker.countTotalTokens(session.language, acceptedSuggestion.insertText, true);
|
|
462
|
-
enqueueCodeDiffEntry(session, acceptedSuggestion);
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
// Handle rejected edit predictions
|
|
466
|
-
if (isInlineEdit && !isAccepted) {
|
|
467
|
-
// Find all rejected suggestions in this session
|
|
468
|
-
const rejectedSuggestions = session.suggestions.filter(suggestion => {
|
|
469
|
-
const result = completionSessionResult[suggestion.itemId];
|
|
470
|
-
return result && result.seen && !result.accepted;
|
|
471
|
-
});
|
|
472
|
-
// Record each rejected edit
|
|
473
|
-
for (const rejectedSuggestion of rejectedSuggestions) {
|
|
474
|
-
if (rejectedSuggestion.content) {
|
|
475
|
-
rejectedEditTracker.recordRejectedEdit({
|
|
476
|
-
content: rejectedSuggestion.content,
|
|
477
|
-
timestamp: Date.now(),
|
|
478
|
-
documentUri: session.document.uri,
|
|
479
|
-
position: session.startPosition,
|
|
480
|
-
});
|
|
481
|
-
logging.debug(`[EDIT_PREDICTION] Recorded rejected edit: ${rejectedSuggestion.content.substring(0, 20)}...`);
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
session.setClientResultData(completionSessionResult, firstCompletionDisplayLatency, totalSessionDisplayTime, typeaheadLength);
|
|
486
|
-
if (firstCompletionDisplayLatency)
|
|
487
|
-
(0, telemetry_1.emitPerceivedLatencyTelemetry)(telemetry, session);
|
|
488
|
-
// Always emit user trigger decision at session close
|
|
489
|
-
sessionManager.closeSession(session);
|
|
490
|
-
const streakLength = editsEnabled ? streakTracker.getAndUpdateStreakLength(isAccepted) : 0;
|
|
491
|
-
await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, addedLengthForEdits, deletedLengthForEdits, addedDiagnostics, removedDiagnostics, streakLength, Object.keys(params.completionSessionResult)[0]);
|
|
51
|
+
return await inlineCompletionHandler.onInlineCompletion(params, token);
|
|
492
52
|
};
|
|
53
|
+
let sessionResultsHandler;
|
|
493
54
|
const updateConfiguration = (updatedConfig) => {
|
|
494
55
|
logging.debug('Updating configuration of inline complete server.');
|
|
495
56
|
const { customizationArn, optOutTelemetryPreference, sendUserWrittenCodeMetrics } = updatedConfig;
|
|
@@ -517,7 +78,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
517
78
|
?.inlineCompletionWithReferences?.inlineEditSupport ?? false;
|
|
518
79
|
telemetryService = new telemetryService_1.TelemetryService(amazonQServiceManager, credentialsProvider, telemetry, logging);
|
|
519
80
|
telemetryService.updateUserContext((0, telemetryUtils_1.makeUserContextObject)(clientParams, runtime.platform, 'INLINE', amazonQServiceManager.serverInfo));
|
|
520
|
-
codePercentageTracker = new
|
|
81
|
+
codePercentageTracker = new codePercentageTracker_1.CodePercentageTracker(telemetryService);
|
|
521
82
|
codeDiffTracker = new codeDiffTracker_1.CodeDiffTracker(workspace, logging, async (entry, percentage, unmodifiedAcceptedCharacterCount) => {
|
|
522
83
|
await telemetryService.emitUserModificationEvent({
|
|
523
84
|
sessionId: entry.sessionId,
|
|
@@ -538,13 +99,17 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
538
99
|
logging.log(`[SERVER] Initialized telemetry-dependent components: CodePercentageTracker, CodeDiffTracker, periodicLogging=${periodicLoggingEnabled}`);
|
|
539
100
|
await amazonQServiceManager.addDidChangeConfigurationListener(updateConfiguration);
|
|
540
101
|
editCompletionHandler = new editCompletionHandler_1.EditCompletionHandler(logging, clientParams, workspace, amazonQServiceManager, editSessionManager, cursorTracker, recentEditTracker, rejectedEditTracker, documentChangedListener, telemetry, telemetryService, credentialsProvider);
|
|
102
|
+
inlineCompletionHandler = new inlineCompletionHandler_1.InlineCompletionHandler(logging, workspace, amazonQServiceManager, completionSessionManager, codePercentageTracker, userWrittenCodeTracker, recentEditTracker, cursorTracker, streakTracker, telemetry, telemetryService, credentialsProvider, () => editsEnabled, () => timeSinceLastUserModification, lsp);
|
|
103
|
+
sessionResultsHandler = new sessionResultsHandler_1.SessionResultsHandler(logging, telemetry, telemetryService, completionSessionManager, editSessionManager, codePercentageTracker, codeDiffTracker, rejectedEditTracker, streakTracker, () => editsEnabled, () => timeSinceLastUserModification);
|
|
541
104
|
};
|
|
542
105
|
const onEditCompletion = async (param, token) => {
|
|
543
106
|
return await editCompletionHandler.onEditCompletion(param, token);
|
|
544
107
|
};
|
|
545
108
|
lsp.extensions.onInlineCompletionWithReferences(onInlineCompletionHandler);
|
|
546
109
|
lsp.extensions.onEditCompletion(onEditCompletion);
|
|
547
|
-
lsp.extensions.onLogInlineCompletionSessionResults(
|
|
110
|
+
lsp.extensions.onLogInlineCompletionSessionResults(async (params) => {
|
|
111
|
+
await sessionResultsHandler.handleSessionResults(params);
|
|
112
|
+
});
|
|
548
113
|
lsp.onInitialized(onInitializedHandler);
|
|
549
114
|
lsp.onDidChangeTextDocument(async (p) => {
|
|
550
115
|
const textDocument = await workspace.getTextDocument(p.textDocument.uri);
|
|
@@ -626,37 +191,8 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
|
|
|
626
191
|
exports.CodewhispererServerFactory = CodewhispererServerFactory;
|
|
627
192
|
// Dynamic service manager factory that detects auth type at runtime
|
|
628
193
|
exports.CodeWhispererServer = (0, exports.CodewhispererServerFactory)((credentialsProvider) => {
|
|
629
|
-
return (0,
|
|
194
|
+
return (0, utils_2.isUsingIAMAuth)(credentialsProvider) ? (0, AmazonQIAMServiceManager_1.getOrThrowBaseIAMServiceManager)() : (0, AmazonQTokenServiceManager_1.getOrThrowBaseTokenServiceManager)();
|
|
630
195
|
});
|
|
631
196
|
exports.CodeWhispererServerIAM = (0, exports.CodewhispererServerFactory)(AmazonQIAMServiceManager_1.getOrThrowBaseIAMServiceManager);
|
|
632
197
|
exports.CodeWhispererServerToken = (0, exports.CodewhispererServerFactory)(AmazonQTokenServiceManager_1.getOrThrowBaseTokenServiceManager);
|
|
633
|
-
const getLanguageIdFromUri = (uri, logging) => {
|
|
634
|
-
try {
|
|
635
|
-
if (uri.startsWith('vscode-notebook-cell:')) {
|
|
636
|
-
// use python for now as lsp does not support JL cell language detection
|
|
637
|
-
return 'python';
|
|
638
|
-
}
|
|
639
|
-
const extension = uri.split('.').pop()?.toLowerCase();
|
|
640
|
-
return constants_1.ABAP_EXTENSIONS.has(extension || '') ? 'abap' : '';
|
|
641
|
-
}
|
|
642
|
-
catch (err) {
|
|
643
|
-
logging?.log(`Error parsing URI to determine language: ${uri}: ${err}`);
|
|
644
|
-
return '';
|
|
645
|
-
}
|
|
646
|
-
};
|
|
647
|
-
exports.getLanguageIdFromUri = getLanguageIdFromUri;
|
|
648
|
-
const getTextDocument = async (uri, workspace, logging) => {
|
|
649
|
-
let textDocument = await workspace.getTextDocument(uri);
|
|
650
|
-
if (!textDocument) {
|
|
651
|
-
try {
|
|
652
|
-
const content = await workspace.fs.readFile(vscode_uri_1.URI.parse(uri).fsPath);
|
|
653
|
-
const languageId = (0, exports.getLanguageIdFromUri)(uri);
|
|
654
|
-
textDocument = server_interface_1.TextDocument.create(uri, languageId, 0, content);
|
|
655
|
-
}
|
|
656
|
-
catch (err) {
|
|
657
|
-
logging.log(`Unable to load from ${uri}: ${err}`);
|
|
658
|
-
}
|
|
659
|
-
}
|
|
660
|
-
return textDocument;
|
|
661
|
-
};
|
|
662
198
|
//# sourceMappingURL=codeWhispererServer.js.map
|