summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
authorTommaso Sciortino <[email protected]>2025-06-27 12:07:38 -0700
committerGitHub <[email protected]>2025-06-27 19:07:38 +0000
commita2a46c7c6700edc6840faa2675d92695d2d3104d (patch)
treee0a10e0e5f83f9c55d8a4b459077822626937405 /packages/core/src
parent4fbffdf617b2fb87c1b663391fbe488c5c81beb8 (diff)
Add privacy notice slash command (#2059)
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/code_assist/server.ts47
-rw-r--r--packages/core/src/code_assist/types.ts10
-rw-r--r--packages/core/src/config/config.ts5
-rw-r--r--packages/core/src/core/client.ts3
-rw-r--r--packages/core/src/core/contentGenerator.ts1
-rw-r--r--packages/core/src/index.ts2
6 files changed, 53 insertions, 15 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,
diff --git a/packages/core/src/code_assist/types.ts b/packages/core/src/code_assist/types.ts
index 67257a50..4c395e57 100644
--- a/packages/core/src/code_assist/types.ts
+++ b/packages/core/src/code_assist/types.ts
@@ -173,3 +173,13 @@ export interface HelpLinkUrl {
description: string;
url: string;
}
+
+export interface SetCodeAssistGlobalUserSettingRequest {
+ cloudaicompanionProject?: string;
+ freeTierDataCollectionOptin: boolean;
+}
+
+export interface CodeAssistGlobalUserSettingResponse {
+ cloudaicompanionProject?: string;
+ freeTierDataCollectionOptin: boolean;
+}
diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts
index b266512c..75b73a85 100644
--- a/packages/core/src/config/config.ts
+++ b/packages/core/src/config/config.ts
@@ -226,11 +226,6 @@ export class Config {
}
async refreshAuth(authMethod: AuthType) {
- // Check if this is actually a switch to a different auth method
- const previousAuthType = this.contentGeneratorConfig?.authType;
- const _isAuthMethodSwitch =
- previousAuthType && previousAuthType !== authMethod;
-
// Always use the original default model when switching auth methods
// This ensures users don't stay on Flash after switching between auth types
// and allows API key users to get proper fallback behavior from getEffectiveModel
diff --git a/packages/core/src/core/client.ts b/packages/core/src/core/client.ts
index ae67c3b4..1a629b2c 100644
--- a/packages/core/src/core/client.ts
+++ b/packages/core/src/core/client.ts
@@ -71,7 +71,8 @@ export class GeminiClient {
);
this.chat = await this.startChat();
}
- private getContentGenerator(): ContentGenerator {
+
+ getContentGenerator(): ContentGenerator {
if (!this.contentGenerator) {
throw new Error('Content generator not initialized');
}
diff --git a/packages/core/src/core/contentGenerator.ts b/packages/core/src/core/contentGenerator.ts
index 7021adc2..82fe5ee9 100644
--- a/packages/core/src/core/contentGenerator.ts
+++ b/packages/core/src/core/contentGenerator.ts
@@ -70,7 +70,6 @@ export async function createContentGeneratorConfig(
return contentGeneratorConfig;
}
- //
if (authType === AuthType.USE_GEMINI && geminiApiKey) {
contentGeneratorConfig.apiKey = geminiApiKey;
contentGeneratorConfig.model = await getEffectiveModel(
diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts
index 3a123452..aff37f50 100644
--- a/packages/core/src/index.ts
+++ b/packages/core/src/index.ts
@@ -21,6 +21,8 @@ export * from './core/nonInteractiveToolExecutor.js';
export * from './code_assist/codeAssist.js';
export * from './code_assist/oauth2.js';
+export * from './code_assist/server.js';
+export * from './code_assist/types.js';
// Export utilities
export * from './utils/paths.js';