Skip to content

Commit b40218c

Browse files
committed
patch
1 parent 602f2ab commit b40218c

File tree

3 files changed

+24
-22
lines changed

3 files changed

+24
-22
lines changed

plugins/amazonq/chat/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/amazonq/workspace/context/ProjectContextProviderTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class ProjectContextProviderTest {
5151
fun `test query payload is encrypted`() = runTest {
5252
whenever(encoderServer.port).thenReturn(3000)
5353
try {
54-
sut.query("what does this project do")
54+
sut.queryChat("what does this project do")
5555
} catch (e: ConnectException) {
5656
// no-op
5757
}

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextController.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ProjectContextController(private val project: Project, private val cs: Cor
5353

5454
fun query(prompt: String): List<RelevantDocument> {
5555
try {
56-
return projectContextProvider.query(prompt)
56+
return projectContextProvider.queryChat(prompt)
5757
} catch (e: Exception) {
5858
logger.warn { "error while querying for project context $e.message" }
5959
return emptyList()
@@ -62,7 +62,7 @@ class ProjectContextController(private val project: Project, private val cs: Cor
6262

6363
fun queryBM25(prompt: String, filePath: String): Any {
6464
try {
65-
return projectContextProvider.queryBM25(prompt, filePath)
65+
return projectContextProvider.queryInline(prompt, filePath)
6666
} catch (e: Exception) {
6767
logger.warn { "error while querying for project context $e.message" }
6868
return emptyList<Any>()

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -181,36 +181,38 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
181181
}
182182
}
183183

184-
fun query(prompt: String): List<RelevantDocument> {
184+
fun queryChat(prompt: String): List<RelevantDocument> {
185185
logger.info { "project context: querying ${project.name} on port ${encoderServer.port}" }
186186
val url = URL("http://localhost:${encoderServer.port}/query")
187187
val payload = QueryRequestPayload(prompt)
188188
val payloadJson = mapper.writeValueAsString(payload)
189189
val encrypted = encoderServer.encrypt(payloadJson)
190190

191-
val connection = url.openConnection() as HttpURLConnection
192-
setConnectionProperties(connection)
193-
setConnectionTimeout(connection)
194-
setConnectionRequest(connection, encrypted)
191+
val response = with(url.openConnection() as HttpURLConnection) {
192+
setConnectionProperties(this)
193+
setConnectionTimeout(this)
194+
setConnectionRequest(this, encrypted)
195+
val responseCode = this.responseCode
195196

196-
val responseCode = connection.responseCode
197-
logger.info { "project context query response code: $responseCode for $prompt" }
198-
val responseBody = if (responseCode == 200) {
199-
connection.inputStream.bufferedReader().use { reader -> reader.readText() }
200-
} else {
201-
""
197+
logger.info { "project context query response code: $responseCode for $prompt" }
198+
199+
if (responseCode == 200) {
200+
this.inputStream.bufferedReader().use { reader -> reader.readText() }
201+
} else {
202+
""
203+
}
202204
}
203-
connection.disconnect()
204-
try {
205-
val parsedResponse = mapper.readValue<List<Chunk>>(responseBody)
206-
return queryResultToRelevantDocuments(parsedResponse)
205+
206+
return try {
207+
val parsedResponse = mapper.readValue<List<Chunk>>(response)
208+
queryResultToRelevantDocuments(parsedResponse)
207209
} catch (e: Exception) {
208210
logger.warn { "error parsing query response ${e.message}" }
209-
return emptyList()
211+
emptyList()
210212
}
211213
}
212214

213-
fun queryBM25(prompt: String, filePath: String): List<BM25Chunk> {
215+
fun queryInline(prompt: String, filePath: String): List<BM25Chunk> {
214216
logger.info { "project context: querying ${project.name} on port ${encoderServer.port}" }
215217
val url = URL("http://localhost:${encoderServer.port}/queryInlineProjectContext")
216218
val payload = QueryRequestV2(prompt, filePath)
@@ -233,8 +235,8 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
233235
responseBody
234236
}
235237

236-
try {
237-
return mapper.readValue<List<BM25Chunk>>(response)
238+
return try {
239+
mapper.readValue<List<BM25Chunk>>(response)
238240
} catch (e: Exception) {
239241
logger.warn { "error parsing query response ${e.message}" }
240242
throw e

0 commit comments

Comments
 (0)