diff --git a/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/autoTrigger.ts b/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/autoTrigger.ts index 328b2a299e..4d5373b1d4 100644 --- a/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/autoTrigger.ts +++ b/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/autoTrigger.ts @@ -1,4 +1,5 @@ import * as os from 'os' +import * as fs from 'fs' import { Logging } from '@aws/language-server-runtimes/server-interface' import { FileContext } from '../../../shared/codeWhispererService' import typedCoefficients = require('./coefficients.json') @@ -292,6 +293,43 @@ export const autoTrigger = ( const r = sigmoid(classifierResult) const shouldTrigger = r > TRIGGER_THRESHOLD + logging.log(`@@autotrigger@@ +version: Postflare +classifierResult: ${r} +triggerChar: ${char} + +Coefficient Contributions: + lengthOfRight: ${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, + lengthOfLeftCurrent: ${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, + lengthOfLeftPrev: ${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, + lineNum: ${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, + osCoefficient: ${osCoefficient}, + triggerType: ${triggerTypeCoefficient}, + char: ${charCoefficient}, + keyWord: ${keyWordCoefficient}, + ide: ${ideCoefficient}, + intercept: ${coefficients.intercept}, + previousDecision: ${previousDecisionCoefficient}, + language: ${languageCoefficient}, + leftContextLength: ${leftContextLengthCoefficient} + -------------------------------------------------------------- + lengthOfRight = ${coefficients.lengthOfRightCoefficient} * ${normalize(lengthOfRight, 'lenRight')}; + lengthOfLeftCurrent = ${coefficients.lengthOfLeftCurrentCoefficient} * ${normalize(lengthOfLeftCurrent, 'lenLeftCur')}; + lengthOfLeftPrev = ${coefficients.lengthOfLeftPrevCoefficient} * ${normalize(lengthOfLeftPrev, 'lenLeftPrev')}; + --------------------------------------------------------------- +`) + + logging.log(` +right context (length=${fileContext.rightFileContent.length}) +${fileContext.rightFileContent} +*************************************** +left current context (length=${leftContextLines[leftContextLines.length - 1].length}) +${leftContextLines[leftContextLines.length - 1]} +*************************************** +left prev context (length=${leftContextLines[leftContextLines.length - 2].length}) +${leftContextLines[leftContextLines.length - 2]} +***************************************`) + return { shouldTrigger, classifierResult: r, diff --git a/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.ts b/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.ts index ad02864bed..0ee6876a6a 100644 --- a/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.ts +++ b/server/aws-lsp-codewhisperer/src/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.ts @@ -7,7 +7,7 @@ import { ClientFileContextClss, FileContext } from '../../../shared/codeWhispere import { CursorTracker } from '../tracker/cursorTracker' import { RecentEditTracker } from '../tracker/codeEditTracker' import { EditPredictionConfigManager } from './editPredictionConfig' -import { CodeWhispererSupplementalContext } from '../../../shared/models/model' +import { CodeWhispererSupplementalContext, CodeWhispererSupplementalContextItem } from '../../../shared/models/model' import { UserTriggerDecision } from '../session/sessionManager' import { Logging } from '@aws/language-server-runtimes/server-interface' import { lastTokenFromString } from '../utils/triggerUtils' @@ -343,19 +343,19 @@ ${JSON.stringify( const editHistory = oldest ? EditClassifier.processEditHistory(oldest.content) : undefined const normalizedEditHistory = editHistory ? EditClassifier.normalizedRecentEdit(editHistory) : undefined - this.logging.log(`lastLineFileContext: -${params.fileContext.leftContextAtCurLine} -recent decisions: -${JSON.stringify(params.recentDecisions)} -recent edits: -@@raw oldest edit@@ -${oldest.content} -@@raw numbers@@ -${JSON.stringify(editHistory, undefined, 2)} -@@normalized numbers@@ -${JSON.stringify(normalizedEditHistory, undefined, 2)} -@@edits array@@ -${params.recentEdits.supplementalContextItems.map(it => it.content)}`) + // this.logging.log(`lastLineFileContext: + // ${params.fileContext.leftContextAtCurLine} + // recent decisions: + // ${JSON.stringify(params.recentDecisions)} + // recent edits: + // @@raw oldest edit@@ + // ${oldest?.content} + // @@raw numbers@@ + // ${JSON.stringify(editHistory, undefined, 2)} + // @@normalized numbers@@ + // ${JSON.stringify(normalizedEditHistory, undefined, 2)} + // @@edits array@@ + // ${params.recentEdits.supplementalContextItems.map(it => it.content)}`) // 6. Language const lang = params.fileContext.programmingLanguage diff --git a/server/aws-lsp-codewhisperer/src/language-server/inline-completion/handler/inlineCompletionHandler.ts b/server/aws-lsp-codewhisperer/src/language-server/inline-completion/handler/inlineCompletionHandler.ts index 0c8ef8fed7..f8cc510a39 100644 --- a/server/aws-lsp-codewhisperer/src/language-server/inline-completion/handler/inlineCompletionHandler.ts +++ b/server/aws-lsp-codewhisperer/src/language-server/inline-completion/handler/inlineCompletionHandler.ts @@ -126,6 +126,9 @@ export class InlineCompletionHandler { : undefined, nextToken: `${params.partialResultToken}`, }) + this.logging.info( + `[inline completion] pulled subsequent pages with pagination token ${params.partialResultToken}; number of suggestion ${suggestionResponse.suggestions.length}` + ) return await this.processSuggestionResponse( suggestionResponse, currentSession,