From 9e092eefdf25bdbf0aba2a0305d5c07604be3494 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Fri, 29 Aug 2025 15:44:55 -0700 Subject: [PATCH 1/5] feat: debug log --- .../auto-trigger/autoTrigger.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 8990756dbf..4f5784f32e 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 @@ -287,6 +287,23 @@ export const autoTrigger = ( const r = sigmoid(classifierResult) const shouldTrigger = r > TRIGGER_THRESHOLD + console.log(`@@autotrigger@@\n`) + console.log(`classifierResult: ${r}, triggerChar: ${char}\n`) + console.log(`coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, +coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, +coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, +coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, +osCoefficient=${osCoefficient}, +triggerTypeCoefficient=${triggerTypeCoefficient}, +charCoefficient=${charCoefficient}, +keyWordCoefficient=${keyWordCoefficient}, +ideCoefficient=${ideCoefficient}, +coefficients.intercept=${coefficients.intercept}, +previousDecisionCoefficient=${previousDecisionCoefficient}, +languageCoefficient=${languageCoefficient}, +leftContextLengthCoefficient=${leftContextLengthCoefficient} +`) + return { shouldTrigger, classifierResult: r, From bf8fc16ead70021ef20f5af150be07f125c6f4c9 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Mon, 1 Sep 2025 22:05:57 -0700 Subject: [PATCH 2/5] feat: debug --- .../inline-completion/auto-trigger/autoTrigger.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 4f5784f32e..d593af36e6 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 @@ -287,9 +287,11 @@ export const autoTrigger = ( const r = sigmoid(classifierResult) const shouldTrigger = r > TRIGGER_THRESHOLD - console.log(`@@autotrigger@@\n`) - console.log(`classifierResult: ${r}, triggerChar: ${char}\n`) - console.log(`coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, + console.log(`@@autotrigger@@ +classifierResult: ${r}, +triggerChar: ${char}, + +coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, From 8015ca8c87e6c50ce32692d622ee81334f0085f8 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Fri, 12 Dec 2025 01:21:56 -0800 Subject: [PATCH 3/5] chore: p --- .../auto-trigger/autoTrigger.ts | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) 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 85d702f8cd..a30e47ae4d 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 @@ -292,24 +292,24 @@ export const autoTrigger = ( const r = sigmoid(classifierResult) const shouldTrigger = r > TRIGGER_THRESHOLD - console.log(`@@autotrigger@@ -classifierResult: ${r}, -triggerChar: ${char}, - -coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, -coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, -coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, -coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, -osCoefficient=${osCoefficient}, -triggerTypeCoefficient=${triggerTypeCoefficient}, -charCoefficient=${charCoefficient}, -keyWordCoefficient=${keyWordCoefficient}, -ideCoefficient=${ideCoefficient}, -coefficients.intercept=${coefficients.intercept}, -previousDecisionCoefficient=${previousDecisionCoefficient}, -languageCoefficient=${languageCoefficient}, -leftContextLengthCoefficient=${leftContextLengthCoefficient} -`) + // logging.log(`@@autotrigger@@ + // classifierResult: ${r}, + // triggerChar: ${char}, + + // coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, + // coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, + // coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, + // coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, + // osCoefficient=${osCoefficient}, + // triggerTypeCoefficient=${triggerTypeCoefficient}, + // charCoefficient=${charCoefficient}, + // keyWordCoefficient=${keyWordCoefficient}, + // ideCoefficient=${ideCoefficient}, + // coefficients.intercept=${coefficients.intercept}, + // previousDecisionCoefficient=${previousDecisionCoefficient}, + // languageCoefficient=${languageCoefficient}, + // leftContextLengthCoefficient=${leftContextLengthCoefficient} + // `) return { shouldTrigger, From 7c4bd02a0cc68e6a19ec68eb5c7fa5da847b281d Mon Sep 17 00:00:00 2001 From: Will Lo Date: Thu, 18 Dec 2025 01:53:06 -0800 Subject: [PATCH 4/5] chore: debug --- .../auto-trigger/autoTrigger.ts | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) 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 a30e47ae4d..c5d5611f87 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,24 +293,23 @@ export const autoTrigger = ( const r = sigmoid(classifierResult) const shouldTrigger = r > TRIGGER_THRESHOLD - // logging.log(`@@autotrigger@@ - // classifierResult: ${r}, - // triggerChar: ${char}, - - // coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, - // coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, - // coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, - // coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, - // osCoefficient=${osCoefficient}, - // triggerTypeCoefficient=${triggerTypeCoefficient}, - // charCoefficient=${charCoefficient}, - // keyWordCoefficient=${keyWordCoefficient}, - // ideCoefficient=${ideCoefficient}, - // coefficients.intercept=${coefficients.intercept}, - // previousDecisionCoefficient=${previousDecisionCoefficient}, - // languageCoefficient=${languageCoefficient}, - // leftContextLengthCoefficient=${leftContextLengthCoefficient} - // `) + logging.log(`@@autotrigger@@ + classifierResult: ${r}, + triggerChar: ${char}, + coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, + coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, + coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, + coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, + osCoefficient=${osCoefficient}, + triggerTypeCoefficient=${triggerTypeCoefficient}, + charCoefficient=${charCoefficient}, + keyWordCoefficient=${keyWordCoefficient}, + ideCoefficient=${ideCoefficient}, + coefficients.intercept=${coefficients.intercept}, + previousDecisionCoefficient=${previousDecisionCoefficient}, + languageCoefficient=${languageCoefficient}, + leftContextLengthCoefficient=${leftContextLengthCoefficient} + `) return { shouldTrigger, From 5bc2b97a70f7a94293d78f18c28e86e360b8bffd Mon Sep 17 00:00:00 2001 From: Will Lo Date: Fri, 26 Dec 2025 17:03:43 -0800 Subject: [PATCH 5/5] chore: debug --- .../auto-trigger/autoTrigger.ts | 51 +++++++++++++------ .../auto-trigger/editPredictionAutoTrigger.ts | 28 +++++----- .../handler/inlineCompletionHandler.ts | 3 ++ 3 files changed, 52 insertions(+), 30 deletions(-) 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 c5d5611f87..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 @@ -294,22 +294,41 @@ export const autoTrigger = ( const shouldTrigger = r > TRIGGER_THRESHOLD logging.log(`@@autotrigger@@ - classifierResult: ${r}, - triggerChar: ${char}, - coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')=${coefficients.lengthOfRightCoefficient * normalize(lengthOfRight, 'lenRight')}, - coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')=${coefficients.lengthOfLeftCurrentCoefficient * normalize(lengthOfLeftCurrent, 'lenLeftCur')}, - coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')=${coefficients.lengthOfLeftPrevCoefficient * normalize(lengthOfLeftPrev, 'lenLeftPrev')}, - coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')=${coefficients.lineNumCoefficient * normalize(lineNum, 'lineNum')}, - osCoefficient=${osCoefficient}, - triggerTypeCoefficient=${triggerTypeCoefficient}, - charCoefficient=${charCoefficient}, - keyWordCoefficient=${keyWordCoefficient}, - ideCoefficient=${ideCoefficient}, - coefficients.intercept=${coefficients.intercept}, - previousDecisionCoefficient=${previousDecisionCoefficient}, - languageCoefficient=${languageCoefficient}, - leftContextLengthCoefficient=${leftContextLengthCoefficient} - `) +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, 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,