diff options
Diffstat (limited to 'packages/core/src/code_assist/server.ts')
| -rw-r--r-- | packages/core/src/code_assist/server.ts | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/packages/core/src/code_assist/server.ts b/packages/core/src/code_assist/server.ts index 5798289a..1eaf9217 100644 --- a/packages/core/src/code_assist/server.ts +++ b/packages/core/src/code_assist/server.ts @@ -6,28 +6,30 @@ import { AuthClient } from 'google-auth-library'; import { - LoadCodeAssistResponse, + CodeAssistGlobalUserSettingResponse, LoadCodeAssistRequest, - OnboardUserRequest, + LoadCodeAssistResponse, LongrunningOperationResponse, + OnboardUserRequest, + SetCodeAssistGlobalUserSettingRequest, } from './types.js'; import { - GenerateContentResponse, - GenerateContentParameters, CountTokensParameters, - EmbedContentResponse, CountTokensResponse, EmbedContentParameters, + EmbedContentResponse, + GenerateContentParameters, + GenerateContentResponse, } from '@google/genai'; import * as readline from 'readline'; import { ContentGenerator } from '../core/contentGenerator.js'; import { + CaCountTokenResponse, CaGenerateContentResponse, - toGenerateContentRequest, + fromCountTokenResponse, fromGenerateContentResponse, toCountTokenRequest, - fromCountTokenResponse, - CaCountTokenResponse, + toGenerateContentRequest, } from './converter.js'; import { PassThrough } from 'node:stream'; @@ -93,6 +95,21 @@ export class CodeAssistServer implements ContentGenerator { ); } + async getCodeAssistGlobalUserSetting(): Promise<CodeAssistGlobalUserSettingResponse> { + return await this.getEndpoint<CodeAssistGlobalUserSettingResponse>( + 'getCodeAssistGlobalUserSetting', + ); + } + + async setCodeAssistGlobalUserSetting( + req: SetCodeAssistGlobalUserSettingRequest, + ): Promise<CodeAssistGlobalUserSettingResponse> { + return await this.callEndpoint<CodeAssistGlobalUserSettingResponse>( + 'setCodeAssistGlobalUserSetting', + req, + ); + } + async countTokens(req: CountTokensParameters): Promise<CountTokensResponse> { const resp = await this.callEndpoint<CaCountTokenResponse>( 'countTokens', @@ -126,6 +143,20 @@ export class CodeAssistServer implements ContentGenerator { return res.data as T; } + async getEndpoint<T>(method: string, signal?: AbortSignal): Promise<T> { + const res = await this.auth.request({ + url: `${CODE_ASSIST_ENDPOINT}/${CODE_ASSIST_API_VERSION}:${method}`, + method: 'GET', + headers: { + 'Content-Type': 'application/json', + ...this.httpOptions.headers, + }, + responseType: 'json', + signal, + }); + return res.data as T; + } + async streamEndpoint<T>( method: string, req: object, |
