@google/gemini-cli-core 0.1.0-development.2 → 0.1.3-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/google-gemini-cli-core-0.1.3.tgz +0 -0
- package/dist/src/code_assist/codeAssist.d.ts +1 -1
- package/dist/src/code_assist/codeAssist.js +5 -5
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +1 -2
- package/dist/src/code_assist/converter.js +3 -4
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js +0 -24
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +1 -9
- package/dist/src/code_assist/oauth2.js +5 -115
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +10 -102
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +8 -13
- package/dist/src/code_assist/server.js +17 -41
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/server.test.js +21 -21
- package/dist/src/code_assist/server.test.js.map +1 -1
- package/dist/src/code_assist/setup.d.ts +1 -4
- package/dist/src/code_assist/setup.js +20 -39
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/types.d.ts +1 -9
- package/dist/src/code_assist/types.js +1 -1
- package/dist/src/config/config.d.ts +2 -10
- package/dist/src/config/config.js +58 -72
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +0 -25
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/core/client.d.ts +3 -3
- package/dist/src/core/client.js +62 -56
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +5 -304
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +7 -5
- package/dist/src/core/contentGenerator.js +16 -11
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +1 -1
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +2 -9
- package/dist/src/core/coreToolScheduler.js +2 -28
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +2 -79
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +2 -1
- package/dist/src/core/geminiChat.js +19 -24
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +16 -18
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/logger.d.ts +4 -3
- package/dist/src/core/logger.js +12 -8
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +15 -6
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/prompts.d.ts +0 -6
- package/dist/src/core/prompts.js +9 -73
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/turn.d.ts +11 -2
- package/dist/src/core/turn.js +19 -1
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/core/turn.test.js +45 -0
- package/dist/src/core/turn.test.js.map +1 -1
- package/dist/src/index.d.ts +0 -2
- package/dist/src/index.js +0 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.d.ts +0 -4
- package/dist/src/services/fileDiscoveryService.js +0 -13
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +16 -45
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +0 -1
- package/dist/src/telemetry/index.js +0 -1
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/loggers.js +0 -19
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +0 -41
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +0 -1
- package/dist/src/telemetry/types.js +0 -2
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/edit.d.ts +2 -5
- package/dist/src/tools/edit.js +10 -17
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +12 -48
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.d.ts +1 -5
- package/dist/src/tools/glob.js +1 -5
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/grep.js +2 -4
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +10 -10
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +2 -0
- package/dist/src/tools/mcp-client.js +25 -38
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +14 -170
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/modifiable-tool.js +4 -5
- package/dist/src/tools/modifiable-tool.js.map +1 -1
- package/dist/src/tools/modifiable-tool.test.js +3 -16
- package/dist/src/tools/modifiable-tool.test.js.map +1 -1
- package/dist/src/tools/read-file.js +2 -1
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-many-files.js +1 -1
- package/dist/src/tools/read-many-files.test.js +2 -27
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +0 -20
- package/dist/src/tools/shell.js +22 -128
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.json +18 -0
- package/dist/src/tools/shell.md +16 -0
- package/dist/src/tools/tool-registry.d.ts +2 -16
- package/dist/src/tools/tool-registry.js +19 -150
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +73 -184
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +1 -4
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +1 -6
- package/dist/src/tools/web-search.js +2 -7
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +1 -11
- package/dist/src/tools/write-file.js +10 -23
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +4 -39
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/editCorrector.d.ts +1 -1
- package/dist/src/utils/editCorrector.js +2 -106
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +19 -65
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +2 -2
- package/dist/src/utils/editor.js +7 -20
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/editor.test.js +27 -60
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +2 -2
- package/dist/src/utils/fileUtils.js +8 -47
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +0 -39
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/flashFallback.integration.test.js +9 -8
- package/dist/src/utils/flashFallback.integration.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +2 -5
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/messageInspectors.d.ts +0 -1
- package/dist/src/utils/messageInspectors.js +0 -5
- package/dist/src/utils/messageInspectors.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.js +1 -1
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.test.js +1 -0
- package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
- package/dist/src/utils/retry.js +21 -21
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +26 -2
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/user_id.d.ts +3 -9
- package/dist/src/utils/user_id.js +16 -37
- package/dist/src/utils/user_id.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -12
- package/LICENSE +0 -202
- package/README.md +0 -156
- package/dist/src/telemetry/uiTelemetry.d.ts +0 -67
- package/dist/src/telemetry/uiTelemetry.js +0 -131
- package/dist/src/telemetry/uiTelemetry.js.map +0 -1
- package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
- package/dist/src/telemetry/uiTelemetry.test.js +0 -411
- package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
- package/dist/src/tools/shell.test.d.ts +0 -6
- package/dist/src/tools/shell.test.js +0 -321
- package/dist/src/tools/shell.test.js.map +0 -1
- package/dist/src/utils/memoryImportProcessor.d.ts +0 -35
- package/dist/src/utils/memoryImportProcessor.js +0 -141
- package/dist/src/utils/memoryImportProcessor.js.map +0 -1
- package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
- package/dist/src/utils/memoryImportProcessor.test.js +0 -170
- package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
- package/dist/src/utils/user_id.test.d.ts +0 -6
- package/dist/src/utils/user_id.test.js +0 -42
- package/dist/src/utils/user_id.test.js.map +0 -1
|
@@ -3,33 +3,28 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { AuthClient } from 'google-auth-library';
|
|
7
|
+
import { LoadCodeAssistResponse, LoadCodeAssistRequest, OnboardUserRequest, LongrunningOperationResponse } from './types.js';
|
|
8
|
+
import { GenerateContentResponse, GenerateContentParameters, CountTokensParameters, EmbedContentResponse, CountTokensResponse, EmbedContentParameters } from '@google/genai';
|
|
9
9
|
import { ContentGenerator } from '../core/contentGenerator.js';
|
|
10
10
|
/** HTTP options to be used in each of the requests. */
|
|
11
11
|
export interface HttpOptions {
|
|
12
12
|
/** Additional HTTP headers to be sent with the request. */
|
|
13
13
|
headers?: Record<string, string>;
|
|
14
14
|
}
|
|
15
|
-
export declare const CODE_ASSIST_ENDPOINT
|
|
15
|
+
export declare const CODE_ASSIST_ENDPOINT: string;
|
|
16
16
|
export declare const CODE_ASSIST_API_VERSION = "v1internal";
|
|
17
17
|
export declare class CodeAssistServer implements ContentGenerator {
|
|
18
|
-
readonly
|
|
18
|
+
readonly auth: AuthClient;
|
|
19
19
|
readonly projectId?: string | undefined;
|
|
20
20
|
readonly httpOptions: HttpOptions;
|
|
21
|
-
|
|
22
|
-
constructor(client: OAuth2Client, projectId?: string | undefined, httpOptions?: HttpOptions, sessionId?: string | undefined);
|
|
21
|
+
constructor(auth: AuthClient, projectId?: string | undefined, httpOptions?: HttpOptions);
|
|
23
22
|
generateContentStream(req: GenerateContentParameters): Promise<AsyncGenerator<GenerateContentResponse>>;
|
|
24
23
|
generateContent(req: GenerateContentParameters): Promise<GenerateContentResponse>;
|
|
25
24
|
onboardUser(req: OnboardUserRequest): Promise<LongrunningOperationResponse>;
|
|
26
25
|
loadCodeAssist(req: LoadCodeAssistRequest): Promise<LoadCodeAssistResponse>;
|
|
27
|
-
getCodeAssistGlobalUserSetting(): Promise<CodeAssistGlobalUserSettingResponse>;
|
|
28
|
-
setCodeAssistGlobalUserSetting(req: SetCodeAssistGlobalUserSettingRequest): Promise<CodeAssistGlobalUserSettingResponse>;
|
|
29
26
|
countTokens(req: CountTokensParameters): Promise<CountTokensResponse>;
|
|
30
27
|
embedContent(_req: EmbedContentParameters): Promise<EmbedContentResponse>;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
requestStreamingPost<T>(method: string, req: object, signal?: AbortSignal): Promise<AsyncGenerator<T>>;
|
|
34
|
-
getMethodUrl(method: string): string;
|
|
28
|
+
callEndpoint<T>(method: string, req: object, signal?: AbortSignal): Promise<T>;
|
|
29
|
+
streamEndpoint<T>(method: string, req: object, signal?: AbortSignal): Promise<AsyncGenerator<T>>;
|
|
35
30
|
}
|
|
@@ -4,22 +4,21 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import * as readline from 'readline';
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import { toGenerateContentRequest, fromGenerateContentResponse, toCountTokenRequest, fromCountTokenResponse, } from './converter.js';
|
|
8
|
+
// TODO: Use production endpoint once it supports our methods.
|
|
9
|
+
export const CODE_ASSIST_ENDPOINT = process.env.CODE_ASSIST_ENDPOINT ?? 'https://cloudcode-pa.googleapis.com';
|
|
9
10
|
export const CODE_ASSIST_API_VERSION = 'v1internal';
|
|
10
11
|
export class CodeAssistServer {
|
|
11
|
-
|
|
12
|
+
auth;
|
|
12
13
|
projectId;
|
|
13
14
|
httpOptions;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
this.client = client;
|
|
15
|
+
constructor(auth, projectId, httpOptions = {}) {
|
|
16
|
+
this.auth = auth;
|
|
17
17
|
this.projectId = projectId;
|
|
18
18
|
this.httpOptions = httpOptions;
|
|
19
|
-
this.sessionId = sessionId;
|
|
20
19
|
}
|
|
21
20
|
async generateContentStream(req) {
|
|
22
|
-
const resps = await this.
|
|
21
|
+
const resps = await this.streamEndpoint('streamGenerateContent', toGenerateContentRequest(req, this.projectId), req.config?.abortSignal);
|
|
23
22
|
return (async function* () {
|
|
24
23
|
for await (const resp of resps) {
|
|
25
24
|
yield fromGenerateContentResponse(resp);
|
|
@@ -27,31 +26,25 @@ export class CodeAssistServer {
|
|
|
27
26
|
})();
|
|
28
27
|
}
|
|
29
28
|
async generateContent(req) {
|
|
30
|
-
const resp = await this.
|
|
29
|
+
const resp = await this.callEndpoint('generateContent', toGenerateContentRequest(req, this.projectId), req.config?.abortSignal);
|
|
31
30
|
return fromGenerateContentResponse(resp);
|
|
32
31
|
}
|
|
33
32
|
async onboardUser(req) {
|
|
34
|
-
return await this.
|
|
33
|
+
return await this.callEndpoint('onboardUser', req);
|
|
35
34
|
}
|
|
36
35
|
async loadCodeAssist(req) {
|
|
37
|
-
return await this.
|
|
38
|
-
}
|
|
39
|
-
async getCodeAssistGlobalUserSetting() {
|
|
40
|
-
return await this.requestGet('getCodeAssistGlobalUserSetting');
|
|
41
|
-
}
|
|
42
|
-
async setCodeAssistGlobalUserSetting(req) {
|
|
43
|
-
return await this.requestPost('setCodeAssistGlobalUserSetting', req);
|
|
36
|
+
return await this.callEndpoint('loadCodeAssist', req);
|
|
44
37
|
}
|
|
45
38
|
async countTokens(req) {
|
|
46
|
-
const resp = await this.
|
|
39
|
+
const resp = await this.callEndpoint('countTokens', toCountTokenRequest(req));
|
|
47
40
|
return fromCountTokenResponse(resp);
|
|
48
41
|
}
|
|
49
42
|
async embedContent(_req) {
|
|
50
43
|
throw Error();
|
|
51
44
|
}
|
|
52
|
-
async
|
|
53
|
-
const res = await this.
|
|
54
|
-
url:
|
|
45
|
+
async callEndpoint(method, req, signal) {
|
|
46
|
+
const res = await this.auth.request({
|
|
47
|
+
url: `${CODE_ASSIST_ENDPOINT}/${CODE_ASSIST_API_VERSION}:${method}`,
|
|
55
48
|
method: 'POST',
|
|
56
49
|
headers: {
|
|
57
50
|
'Content-Type': 'application/json',
|
|
@@ -63,22 +56,9 @@ export class CodeAssistServer {
|
|
|
63
56
|
});
|
|
64
57
|
return res.data;
|
|
65
58
|
}
|
|
66
|
-
async
|
|
67
|
-
const res = await this.
|
|
68
|
-
url:
|
|
69
|
-
method: 'GET',
|
|
70
|
-
headers: {
|
|
71
|
-
'Content-Type': 'application/json',
|
|
72
|
-
...this.httpOptions.headers,
|
|
73
|
-
},
|
|
74
|
-
responseType: 'json',
|
|
75
|
-
signal,
|
|
76
|
-
});
|
|
77
|
-
return res.data;
|
|
78
|
-
}
|
|
79
|
-
async requestStreamingPost(method, req, signal) {
|
|
80
|
-
const res = await this.client.request({
|
|
81
|
-
url: this.getMethodUrl(method),
|
|
59
|
+
async streamEndpoint(method, req, signal) {
|
|
60
|
+
const res = await this.auth.request({
|
|
61
|
+
url: `${CODE_ASSIST_ENDPOINT}/${CODE_ASSIST_API_VERSION}:${method}`,
|
|
82
62
|
method: 'POST',
|
|
83
63
|
params: {
|
|
84
64
|
alt: 'sse',
|
|
@@ -115,9 +95,5 @@ export class CodeAssistServer {
|
|
|
115
95
|
}
|
|
116
96
|
})();
|
|
117
97
|
}
|
|
118
|
-
getMethodUrl(method) {
|
|
119
|
-
const endpoint = process.env.CODE_ASSIST_ENDPOINT ?? CODE_ASSIST_ENDPOINT;
|
|
120
|
-
return `${endpoint}/${CODE_ASSIST_API_VERSION}:${method}`;
|
|
121
|
-
}
|
|
122
98
|
}
|
|
123
99
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/code_assist/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/code_assist/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ describe('CodeAssistServer', () => {
|
|
|
14
14
|
expect(server).toBeInstanceOf(CodeAssistServer);
|
|
15
15
|
});
|
|
16
16
|
it('should call the generateContent endpoint', async () => {
|
|
17
|
-
const
|
|
18
|
-
const server = new CodeAssistServer(
|
|
17
|
+
const auth = new OAuth2Client();
|
|
18
|
+
const server = new CodeAssistServer(auth, 'test-project');
|
|
19
19
|
const mockResponse = {
|
|
20
20
|
response: {
|
|
21
21
|
candidates: [
|
|
@@ -31,17 +31,17 @@ describe('CodeAssistServer', () => {
|
|
|
31
31
|
],
|
|
32
32
|
},
|
|
33
33
|
};
|
|
34
|
-
vi.spyOn(server, '
|
|
34
|
+
vi.spyOn(server, 'callEndpoint').mockResolvedValue(mockResponse);
|
|
35
35
|
const response = await server.generateContent({
|
|
36
36
|
model: 'test-model',
|
|
37
37
|
contents: [{ role: 'user', parts: [{ text: 'request' }] }],
|
|
38
38
|
});
|
|
39
|
-
expect(server.
|
|
39
|
+
expect(server.callEndpoint).toHaveBeenCalledWith('generateContent', expect.any(Object), undefined);
|
|
40
40
|
expect(response.candidates?.[0]?.content?.parts?.[0]?.text).toBe('response');
|
|
41
41
|
});
|
|
42
42
|
it('should call the generateContentStream endpoint', async () => {
|
|
43
|
-
const
|
|
44
|
-
const server = new CodeAssistServer(
|
|
43
|
+
const auth = new OAuth2Client();
|
|
44
|
+
const server = new CodeAssistServer(auth, 'test-project');
|
|
45
45
|
const mockResponse = (async function* () {
|
|
46
46
|
yield {
|
|
47
47
|
response: {
|
|
@@ -59,52 +59,52 @@ describe('CodeAssistServer', () => {
|
|
|
59
59
|
},
|
|
60
60
|
};
|
|
61
61
|
})();
|
|
62
|
-
vi.spyOn(server, '
|
|
62
|
+
vi.spyOn(server, 'streamEndpoint').mockResolvedValue(mockResponse);
|
|
63
63
|
const stream = await server.generateContentStream({
|
|
64
64
|
model: 'test-model',
|
|
65
65
|
contents: [{ role: 'user', parts: [{ text: 'request' }] }],
|
|
66
66
|
});
|
|
67
67
|
for await (const res of stream) {
|
|
68
|
-
expect(server.
|
|
68
|
+
expect(server.streamEndpoint).toHaveBeenCalledWith('streamGenerateContent', expect.any(Object), undefined);
|
|
69
69
|
expect(res.candidates?.[0]?.content?.parts?.[0]?.text).toBe('response');
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
it('should call the onboardUser endpoint', async () => {
|
|
73
|
-
const
|
|
74
|
-
const server = new CodeAssistServer(
|
|
73
|
+
const auth = new OAuth2Client();
|
|
74
|
+
const server = new CodeAssistServer(auth, 'test-project');
|
|
75
75
|
const mockResponse = {
|
|
76
76
|
name: 'operations/123',
|
|
77
77
|
done: true,
|
|
78
78
|
};
|
|
79
|
-
vi.spyOn(server, '
|
|
79
|
+
vi.spyOn(server, 'callEndpoint').mockResolvedValue(mockResponse);
|
|
80
80
|
const response = await server.onboardUser({
|
|
81
81
|
tierId: 'test-tier',
|
|
82
82
|
cloudaicompanionProject: 'test-project',
|
|
83
83
|
metadata: {},
|
|
84
84
|
});
|
|
85
|
-
expect(server.
|
|
85
|
+
expect(server.callEndpoint).toHaveBeenCalledWith('onboardUser', expect.any(Object));
|
|
86
86
|
expect(response.name).toBe('operations/123');
|
|
87
87
|
});
|
|
88
88
|
it('should call the loadCodeAssist endpoint', async () => {
|
|
89
|
-
const
|
|
90
|
-
const server = new CodeAssistServer(
|
|
89
|
+
const auth = new OAuth2Client();
|
|
90
|
+
const server = new CodeAssistServer(auth, 'test-project');
|
|
91
91
|
const mockResponse = {
|
|
92
92
|
// TODO: Add mock response
|
|
93
93
|
};
|
|
94
|
-
vi.spyOn(server, '
|
|
94
|
+
vi.spyOn(server, 'callEndpoint').mockResolvedValue(mockResponse);
|
|
95
95
|
const response = await server.loadCodeAssist({
|
|
96
96
|
metadata: {},
|
|
97
97
|
});
|
|
98
|
-
expect(server.
|
|
98
|
+
expect(server.callEndpoint).toHaveBeenCalledWith('loadCodeAssist', expect.any(Object));
|
|
99
99
|
expect(response).toBe(mockResponse);
|
|
100
100
|
});
|
|
101
101
|
it('should return 0 for countTokens', async () => {
|
|
102
|
-
const
|
|
103
|
-
const server = new CodeAssistServer(
|
|
102
|
+
const auth = new OAuth2Client();
|
|
103
|
+
const server = new CodeAssistServer(auth, 'test-project');
|
|
104
104
|
const mockResponse = {
|
|
105
105
|
totalTokens: 100,
|
|
106
106
|
};
|
|
107
|
-
vi.spyOn(server, '
|
|
107
|
+
vi.spyOn(server, 'callEndpoint').mockResolvedValue(mockResponse);
|
|
108
108
|
const response = await server.countTokens({
|
|
109
109
|
model: 'test-model',
|
|
110
110
|
contents: [{ role: 'user', parts: [{ text: 'request' }] }],
|
|
@@ -112,8 +112,8 @@ describe('CodeAssistServer', () => {
|
|
|
112
112
|
expect(response.totalTokens).toBe(100);
|
|
113
113
|
});
|
|
114
114
|
it('should throw an error for embedContent', async () => {
|
|
115
|
-
const
|
|
116
|
-
const server = new CodeAssistServer(
|
|
115
|
+
const auth = new OAuth2Client();
|
|
116
|
+
const server = new CodeAssistServer(auth, 'test-project');
|
|
117
117
|
await expect(server.embedContent({
|
|
118
118
|
model: 'test-model',
|
|
119
119
|
contents: [{ role: 'user', parts: [{ text: 'request' }] }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../../src/code_assist/server.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAE/B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,
|
|
1
|
+
{"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../../src/code_assist/server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,9 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { OAuth2Client } from 'google-auth-library';
|
|
7
|
-
export declare class ProjectIdRequiredError extends Error {
|
|
8
|
-
constructor();
|
|
9
|
-
}
|
|
10
7
|
/**
|
|
11
8
|
*
|
|
12
9
|
* @param projectId the user's project id, if any
|
|
13
10
|
* @returns the user's actual project id
|
|
14
11
|
*/
|
|
15
|
-
export declare function setupUser(
|
|
12
|
+
export declare function setupUser(authClient: OAuth2Client): Promise<string>;
|
|
@@ -3,65 +3,46 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { UserTierId, } from './types.js';
|
|
7
6
|
import { CodeAssistServer } from './server.js';
|
|
8
|
-
export class ProjectIdRequiredError extends Error {
|
|
9
|
-
constructor() {
|
|
10
|
-
super('This account requires setting the GOOGLE_CLOUD_PROJECT env var. See https://goo.gle/gemini-cli-auth-docs#workspace-gca');
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
7
|
/**
|
|
14
8
|
*
|
|
15
9
|
* @param projectId the user's project id, if any
|
|
16
10
|
* @returns the user's actual project id
|
|
17
11
|
*/
|
|
18
|
-
export async function setupUser(
|
|
19
|
-
|
|
20
|
-
const caServer = new CodeAssistServer(
|
|
12
|
+
export async function setupUser(authClient) {
|
|
13
|
+
const projectId = process.env.GOOGLE_CLOUD_PROJECT;
|
|
14
|
+
const caServer = new CodeAssistServer(authClient, projectId);
|
|
21
15
|
const clientMetadata = {
|
|
22
16
|
ideType: 'IDE_UNSPECIFIED',
|
|
23
17
|
platform: 'PLATFORM_UNSPECIFIED',
|
|
24
18
|
pluginType: 'GEMINI',
|
|
25
19
|
duetProject: projectId,
|
|
26
20
|
};
|
|
21
|
+
// TODO: Support Free Tier user without projectId.
|
|
27
22
|
const loadRes = await caServer.loadCodeAssist({
|
|
28
23
|
cloudaicompanionProject: projectId,
|
|
29
24
|
metadata: clientMetadata,
|
|
30
25
|
});
|
|
31
|
-
|
|
32
|
-
projectId = loadRes.cloudaicompanionProject;
|
|
33
|
-
}
|
|
34
|
-
const tier = getOnboardTier(loadRes);
|
|
35
|
-
if (tier.userDefinedCloudaicompanionProject && !projectId) {
|
|
36
|
-
throw new ProjectIdRequiredError();
|
|
37
|
-
}
|
|
26
|
+
const onboardTier = loadRes.allowedTiers?.find((tier) => tier.isDefault)?.id ?? 'legacy-tier';
|
|
38
27
|
const onboardReq = {
|
|
39
|
-
tierId:
|
|
40
|
-
cloudaicompanionProject: projectId,
|
|
28
|
+
tierId: onboardTier,
|
|
29
|
+
cloudaicompanionProject: loadRes.cloudaicompanionProject || projectId || '',
|
|
41
30
|
metadata: clientMetadata,
|
|
42
31
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return lroRes.response?.cloudaicompanionProject?.id || '';
|
|
50
|
-
}
|
|
51
|
-
function getOnboardTier(res) {
|
|
52
|
-
if (res.currentTier) {
|
|
53
|
-
return res.currentTier;
|
|
54
|
-
}
|
|
55
|
-
for (const tier of res.allowedTiers || []) {
|
|
56
|
-
if (tier.isDefault) {
|
|
57
|
-
return tier;
|
|
32
|
+
try {
|
|
33
|
+
// Poll onboardUser until long running operation is complete.
|
|
34
|
+
let lroRes = await caServer.onboardUser(onboardReq);
|
|
35
|
+
while (!lroRes.done) {
|
|
36
|
+
await new Promise((f) => setTimeout(f, 5000));
|
|
37
|
+
lroRes = await caServer.onboardUser(onboardReq);
|
|
58
38
|
}
|
|
39
|
+
return lroRes.response?.cloudaicompanionProject?.id || '';
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
console.log('\n\nError onboarding with Code Assist.\n' +
|
|
43
|
+
'Google Workspace Account (e.g. your-name@your-company.com)' +
|
|
44
|
+
' must specify a GOOGLE_CLOUD_PROJECT environment variable.\n\n');
|
|
45
|
+
throw e;
|
|
59
46
|
}
|
|
60
|
-
return {
|
|
61
|
-
name: '',
|
|
62
|
-
description: '',
|
|
63
|
-
id: UserTierId.LEGACY,
|
|
64
|
-
userDefinedCloudaicompanionProject: true,
|
|
65
|
-
};
|
|
66
47
|
}
|
|
67
48
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/code_assist/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/code_assist/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAwB;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAmB;QACrC,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,sBAAsB;QAChC,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,SAAS;KACvB,CAAC;IAEF,kDAAkD;IAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC;QAC5C,uBAAuB,EAAE,SAAS;QAClC,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,MAAM,WAAW,GACf,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,aAAa,CAAC;IAE5E,MAAM,UAAU,GAAuB;QACrC,MAAM,EAAE,WAAW;QACnB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IAAI,SAAS,IAAI,EAAE;QAC3E,QAAQ,EAAE,cAAc;KACzB,CAAC;IACF,IAAI,CAAC;QACH,6DAA6D;QAC7D,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CACT,0CAA0C;YACxC,4DAA4D;YAC5D,gEAAgE,CACnE,CAAC;QACF,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
@@ -117,7 +117,7 @@ export interface OnboardUserResponse {
|
|
|
117
117
|
}
|
|
118
118
|
/**
|
|
119
119
|
* Status code of user license status
|
|
120
|
-
* it does not
|
|
120
|
+
* it does not stricly correspond to the proto
|
|
121
121
|
* Error value is an additional value assigned to error responses from OnboardUser
|
|
122
122
|
*/
|
|
123
123
|
export declare enum OnboardUserStatusCode {
|
|
@@ -138,11 +138,3 @@ export interface HelpLinkUrl {
|
|
|
138
138
|
description: string;
|
|
139
139
|
url: string;
|
|
140
140
|
}
|
|
141
|
-
export interface SetCodeAssistGlobalUserSettingRequest {
|
|
142
|
-
cloudaicompanionProject?: string;
|
|
143
|
-
freeTierDataCollectionOptin: boolean;
|
|
144
|
-
}
|
|
145
|
-
export interface CodeAssistGlobalUserSettingResponse {
|
|
146
|
-
cloudaicompanionProject?: string;
|
|
147
|
-
freeTierDataCollectionOptin: boolean;
|
|
148
|
-
}
|
|
@@ -33,7 +33,7 @@ export var UserTierId;
|
|
|
33
33
|
})(UserTierId || (UserTierId = {}));
|
|
34
34
|
/**
|
|
35
35
|
* Status code of user license status
|
|
36
|
-
* it does not
|
|
36
|
+
* it does not stricly correspond to the proto
|
|
37
37
|
* Error value is an additional value assigned to error responses from OnboardUser
|
|
38
38
|
*/
|
|
39
39
|
export var OnboardUserStatusCode;
|
|
@@ -34,14 +34,11 @@ export declare class MCPServerConfig {
|
|
|
34
34
|
readonly cwd?: string | undefined;
|
|
35
35
|
readonly url?: string | undefined;
|
|
36
36
|
readonly httpUrl?: string | undefined;
|
|
37
|
-
readonly headers?: Record<string, string> | undefined;
|
|
38
37
|
readonly tcp?: string | undefined;
|
|
39
38
|
readonly timeout?: number | undefined;
|
|
40
39
|
readonly trust?: boolean | undefined;
|
|
41
40
|
readonly description?: string | undefined;
|
|
42
|
-
|
|
43
|
-
readonly excludeTools?: string[] | undefined;
|
|
44
|
-
constructor(command?: string | undefined, args?: string[] | undefined, env?: Record<string, string> | undefined, cwd?: string | undefined, url?: string | undefined, httpUrl?: string | undefined, headers?: Record<string, string> | undefined, tcp?: string | undefined, timeout?: number | undefined, trust?: boolean | undefined, description?: string | undefined, includeTools?: string[] | undefined, excludeTools?: string[] | undefined);
|
|
41
|
+
constructor(command?: string | undefined, args?: string[] | undefined, env?: Record<string, string> | undefined, cwd?: string | undefined, url?: string | undefined, httpUrl?: string | undefined, tcp?: string | undefined, timeout?: number | undefined, trust?: boolean | undefined, description?: string | undefined);
|
|
45
42
|
}
|
|
46
43
|
export interface SandboxConfig {
|
|
47
44
|
command: 'docker' | 'podman' | 'sandbox-exec';
|
|
@@ -118,7 +115,6 @@ export declare class Config {
|
|
|
118
115
|
private modelSwitchedDuringSession;
|
|
119
116
|
flashFallbackHandler?: FlashFallbackHandler;
|
|
120
117
|
constructor(params: ConfigParameters);
|
|
121
|
-
initialize(): Promise<void>;
|
|
122
118
|
refreshAuth(authMethod: AuthType): Promise<void>;
|
|
123
119
|
getSessionId(): string;
|
|
124
120
|
getContentGeneratorConfig(): ContentGeneratorConfig;
|
|
@@ -166,10 +162,6 @@ export declare class Config {
|
|
|
166
162
|
getUsageStatisticsEnabled(): boolean;
|
|
167
163
|
getExtensionContextFilePaths(): string[];
|
|
168
164
|
getGitService(): Promise<GitService>;
|
|
169
|
-
refreshMemory(): Promise<{
|
|
170
|
-
memoryContent: string;
|
|
171
|
-
fileCount: number;
|
|
172
|
-
}>;
|
|
173
|
-
createToolRegistry(): Promise<ToolRegistry>;
|
|
174
165
|
}
|
|
166
|
+
export declare function createToolRegistry(config: Config): Promise<ToolRegistry>;
|
|
175
167
|
export { DEFAULT_GEMINI_FLASH_MODEL };
|