11import * as vscode from 'vscode'
22import axios from 'axios'
3- import { make_api_request } from '@/utils/make-api-request'
43import { code_completion_instructions_for_panel } from '@/constants/instructions'
54import { FilesCollector } from '@/utils/files-collector'
65import {
@@ -15,6 +14,7 @@ import { PanelProvider } from '@/views/panel/backend/panel-provider'
1514import { CodeCompletionMessage } from '@/views/panel/types/messages'
1615import { apply_reasoning_effort } from '@/utils/apply-reasoning-effort'
1716import { dictionary } from '@shared/constants/dictionary'
17+ import { randomUUID } from 'crypto'
1818
1919const get_code_completion_config = async (
2020 api_providers_manager : ModelProvidersManager ,
@@ -211,7 +211,7 @@ const perform_code_completion = async (params: {
211211 show_quick_pick ?: boolean
212212 completion_instructions ?: string
213213 config_id ?: string
214- panel_provider ? : PanelProvider
214+ panel_provider : PanelProvider
215215} ) : Promise < void > => {
216216 const api_providers_manager = new ModelProvidersManager ( params . context )
217217
@@ -296,7 +296,7 @@ const perform_code_completion = async (params: {
296296 )
297297 return
298298 }
299- const cancel_token_source = axios . CancelToken . source ( )
299+ const request_id = randomUUID ( )
300300 const document = editor . document
301301 const position = editor . selection . active
302302
@@ -357,37 +357,19 @@ const perform_code_completion = async (params: {
357357 const cursor_listener = vscode . window . onDidChangeTextEditorSelection (
358358 ( e ) => {
359359 if ( e . textEditor === editor ) {
360- cancel_token_source . cancel (
361- 'User moved the cursor, cancelling request.'
362- )
360+ params . panel_provider . api_manager . cancel_api_call ( request_id )
363361 }
364362 }
365363 )
366364
367365 let response_for_apply : string | undefined
368366
369- if ( params . panel_provider ) {
370- params . panel_provider . api_call_cancel_token_source = cancel_token_source
371- params . panel_provider . send_message ( {
372- command : 'SHOW_PROGRESS' ,
373- title : `${ dictionary . api_call . WAITING_FOR_RESPONSE } ...`
374- } )
375- }
376-
377367 try {
378- const result = await make_api_request ( {
368+ const result = await params . panel_provider . api_manager . get ( {
379369 endpoint_url,
380370 api_key : provider . api_key ,
381371 body,
382- cancellation_token : cancel_token_source . token ,
383- on_thinking_chunk : ( ) => {
384- if ( params . panel_provider ) {
385- params . panel_provider . send_message ( {
386- command : 'SHOW_PROGRESS' ,
387- title : `${ dictionary . api_call . THINKING } ...`
388- } )
389- }
390- }
372+ request_id
391373 } )
392374
393375 if ( result ) {
@@ -406,10 +388,6 @@ const perform_code_completion = async (params: {
406388 dictionary . error_message . CODE_COMPLETION_ERROR
407389 )
408390 } finally {
409- if ( params . panel_provider ) {
410- params . panel_provider . send_message ( { command : 'HIDE_PROGRESS' } )
411- params . panel_provider . api_call_cancel_token_source = null
412- }
413391 cursor_listener . dispose ( )
414392 }
415393
0 commit comments