Skip to content

Commit f85e6fe

Browse files
authored
(refactor codewhisperer): refactor 1, move supplemental context pojos to model file (#4029)
1 parent ea3f06a commit f85e6fe

File tree

7 files changed

+30
-31
lines changed

7 files changed

+30
-31
lines changed

src/codewhisperer/models/model.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,27 @@ export const vsCodeState: VsCodeState = {
3939
lastUserModificationTime: 0,
4040
}
4141

42+
export type UtgStrategy = 'ByName' | 'ByContent'
43+
44+
export type CrossFileStrategy = 'OpenTabs_BM25'
45+
46+
export type SupplementalContextStrategy = CrossFileStrategy | UtgStrategy | 'Empty'
47+
48+
export interface CodeWhispererSupplementalContext {
49+
isUtg: boolean
50+
isProcessTimeout: boolean
51+
supplementalContextItems: CodeWhispererSupplementalContextItem[]
52+
contentsLength: number
53+
latency: number
54+
strategy: SupplementalContextStrategy
55+
}
56+
57+
export interface CodeWhispererSupplementalContextItem {
58+
content: string
59+
filePath: string
60+
score?: number
61+
}
62+
4263
// This response struct can contain more info as needed
4364
export interface GetRecommendationsResponse {
4465
readonly result: 'Succeeded' | 'Failed'

src/codewhisperer/util/codeWhispererSession.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
} from '../../shared/telemetry/telemetry.gen'
1111
import { GenerateRecommendationsRequest, ListRecommendationsRequest, Recommendation } from '../client/codewhisperer'
1212
import { Position } from 'vscode'
13-
import { CodeWhispererSupplementalContext } from './supplementalContext/supplementalContextUtil'
13+
import { CodeWhispererSupplementalContext } from '../models/model'
1414

1515
const performance = globalThis.performance ?? require('perf_hooks').performance
1616

src/codewhisperer/util/editorContext.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@ import { getTabSizeSetting } from '../../shared/utilities/editorUtilities'
1111
import { TelemetryHelper } from './telemetryHelper'
1212
import { getLogger } from '../../shared/logger/logger'
1313
import { runtimeLanguageContext } from './runtimeLanguageContext'
14-
import {
15-
CodeWhispererSupplementalContext,
16-
fetchSupplementalContext,
17-
} from './supplementalContext/supplementalContextUtil'
14+
import { fetchSupplementalContext } from './supplementalContext/supplementalContextUtil'
1815
import { supplementalContextTimeoutInMs } from '../models/constants'
1916
import { getSelectedCustomization } from './customizationUtil'
2017
import { selectFrom } from '../../shared/utilities/tsUtils'
18+
import { CodeWhispererSupplementalContext } from '../models/model'
2119

2220
let tabSize: number = getTabSizeSetting()
2321

src/codewhisperer/util/supplementalContext/crossFileContextUtil.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@ import { BM25Document, BM25Okapi } from './rankBm25'
1010
import { ToolkitError } from '../../../shared/errors'
1111
import { UserGroup, crossFileContextConfig, supplemetalContextFetchingTimeoutMsg } from '../../models/constants'
1212
import { CancellationError } from '../../../shared/utilities/timeoutUtils'
13-
import { CodeWhispererSupplementalContext, CodeWhispererSupplementalContextItem } from './supplementalContextUtil'
1413
import { CodeWhispererUserGroupSettings } from '../userGroupUtil'
1514
import { isTestFile } from './codeParsingUtil'
1615
import { getFileDistance } from '../../../shared/filesystemUtilities'
1716
import { getOpenFilesInWindow } from '../../../shared/utilities/editorUtilities'
1817
import { getLogger } from '../../../shared/logger/logger'
19-
20-
export type CrossFileStrategy = 'OpenTabs_BM25'
18+
import { CodeWhispererSupplementalContext, CodeWhispererSupplementalContextItem } from '../../models/model'
2119

2220
type CrossFileSupportedLanguage =
2321
| 'java'

src/codewhisperer/util/supplementalContext/supplementalContextUtil.ts

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,18 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
import { UtgStrategy, fetchSupplementalContextForTest } from './utgUtils'
7-
import { CrossFileStrategy, fetchSupplementalContextForSrc } from './crossFileContextUtil'
6+
import { fetchSupplementalContextForTest } from './utgUtils'
7+
import { fetchSupplementalContextForSrc } from './crossFileContextUtil'
88
import { isTestFile } from './codeParsingUtil'
99
import { DependencyGraphFactory } from '../dependencyGraph/dependencyGraphFactory'
1010
import * as vscode from 'vscode'
1111
import { CancellationError } from '../../../shared/utilities/timeoutUtils'
1212
import { ToolkitError } from '../../../shared/errors'
1313
import { getLogger } from '../../../shared/logger/logger'
14+
import { CodeWhispererSupplementalContext } from '../../models/model'
1415

1516
const performance = globalThis.performance ?? require('perf_hooks').performance
1617

17-
export type SupplementalContextStrategy = CrossFileStrategy | UtgStrategy | 'Empty'
18-
19-
export interface CodeWhispererSupplementalContext {
20-
isUtg: boolean
21-
isProcessTimeout: boolean
22-
supplementalContextItems: CodeWhispererSupplementalContextItem[]
23-
contentsLength: number
24-
latency: number
25-
strategy: SupplementalContextStrategy
26-
}
27-
28-
export interface CodeWhispererSupplementalContextItem {
29-
content: string
30-
filePath: string
31-
score?: number
32-
}
33-
3418
export async function fetchSupplementalContext(
3519
editor: vscode.TextEditor,
3620
cancellationToken: vscode.CancellationToken

src/codewhisperer/util/supplementalContext/utgUtils.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,15 @@ import {
1818
import { ToolkitError } from '../../../shared/errors'
1919
import { supplemetalContextFetchingTimeoutMsg } from '../../models/constants'
2020
import { CancellationError } from '../../../shared/utilities/timeoutUtils'
21-
import { CodeWhispererSupplementalContext, CodeWhispererSupplementalContextItem } from './supplementalContextUtil'
2221
import { utgConfig } from '../../models/constants'
2322
import { CodeWhispererUserGroupSettings } from '../userGroupUtil'
2423
import { UserGroup } from '../../models/constants'
2524
import { getOpenFilesInWindow } from '../../../shared/utilities/editorUtilities'
2625
import { getLogger } from '../../../shared/logger/logger'
26+
import { CodeWhispererSupplementalContext, CodeWhispererSupplementalContextItem, UtgStrategy } from '../../models/model'
2727

2828
type UtgSupportedLanguage = keyof typeof utgLanguageConfigs
2929

30-
export type UtgStrategy = 'ByName' | 'ByContent'
31-
3230
function isUtgSupportedLanguage(languageId: vscode.TextDocument['languageId']): languageId is UtgSupportedLanguage {
3331
return languageId in utgLanguageConfigs
3432
}

src/codewhisperer/util/telemetryHelper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ import {
2525
import { getImportCount } from './importAdderUtil'
2626
import { CodeWhispererSettings } from './codewhispererSettings'
2727
import { CodeWhispererUserGroupSettings } from './userGroupUtil'
28-
import { CodeWhispererSupplementalContext } from './supplementalContext/supplementalContextUtil'
2928
import { getSelectedCustomization } from './customizationUtil'
3029
import { AuthUtil } from './authUtil'
3130
import { isAwsError } from '../../shared/errors'
3231
import { getLogger } from '../../shared/logger'
3332
import { session } from './codeWhispererSession'
33+
import { CodeWhispererSupplementalContext } from '../models/model'
3434

3535
const performance = globalThis.performance ?? require('perf_hooks').performance
3636

0 commit comments

Comments
 (0)